开发者

AutoCompleteSource stops KeyPress event?

开发者 https://www.devze.com 2023-01-11 04:12 出处:网络
Simple code C# winform app (visual studio 2010): A simple form with one text box here is a keyPress event:

Simple code C# winform app (visual studio 2010):

A simple form with one text box here is a keyPress event:

 private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            // The keypressed method uses the KeyChar property to check 
            // whether the ENTER key is pressed. 


            if (e.KeyChar == (char)Keys.Return)
            {
                Process.Start("http://yahoo.com", null);
            }

        }

Works fine if I type in some text in the开发者_开发技巧 text box and hit enter, it opens up my default web browser and takes me to a site.

I need to change the text box to autocompletemode = suggestappend and autocompletesource = customsource. And then I fill it like so:

  private void Form1_Load(object sender, EventArgs e)
        {
            AutoCompleteStringCollection s = new AutoCompleteStringCollection();
            s.Add("Jon ");
            s.Add("2 Jon");
            textBox1.AutoCompleteCustomSource = s;
        }

It does the autocomplete as right when I type in a J it comes up with Jon, but now when I hit enter it doesnt fireoff the KeyPress event. It just sits there. I tried putting in a break point and when I type in the first letter J it fires the KeyPress event. Then when i select the string "Jon" from the autocomplete source and then I hit enter the event no longer fires.

Confused :).


It would seem the Return key press is being handled because of the auto-complete suggestion drop-down list - you could always use the KeyDown event which still fires in this scenario.

0

精彩评论

暂无评论...
验证码 换一张
取 消