john1990_1 Ответов: 0

Почему мое автозаполнение в текстовом поле исчезает?


Я сделал текстовое поле поиска Google, когда я динамически изменяю поисковые предложения в текстовом поле в качестве автозаполнения, оно отображается только на некоторое время и исчезает, может быть, это связано с потерей фокуса управления, но это тоже не помогло! почему?

Что я уже пробовал:

<pre>SearchSuggestionsAPI s = new SearchSuggestionsAPI();
AutoCompleteStringCollection a = new AutoCompleteStringCollection();

   private async void textBoxMain_TextChanged(object sender, EventArgs e)
        {
            textBoxMain.Focus();
            textBoxMain.Select();

            a = new AutoCompleteStringCollection();


            if (string.IsNullOrWhiteSpace(textBoxMain.Text))
            {
                textBoxMain.AutoCompleteCustomSource = a;
                return;
            }

            

            foreach ( GoogleSuggestion g in (IEnumerable<GoogleSuggestion>) (await s.GetSearchSuggestions(textBoxMain.Text)))
            {
                if (!string.IsNullOrWhiteSpace(g.Phrase))
                {
                    a.Add(g.Phrase);
                }
            }

            

            textBoxMain.AutoCompleteCustomSource = a;
        }


bool mouseOver = false;

        private void textBoxMain_MouseEnter(object sender, EventArgs e)
        {
            mouseOver = true;
        }

        private void textBoxMain_MouseLeave(object sender, EventArgs e)
        {
            mouseOver = false;
        }

        private void textBoxMain_Leave(object sender, EventArgs e)
        {
            if(mouseOver)
            {
                textBoxMain.Focus();
                textBoxMain.Select();
                textBoxMain_TextChanged(null, null);
            }
        }

0 Ответов