Мигающее текстовое поле - PullRequest
1 голос
/ 07 апреля 2019

По какой-то причине, если я изменяю свойство AutoCompleteCustomSource текстового поля, оно на секунду исчезает, а затем появляется. Я пытался сделать это в другой теме, но, похоже, это не помогает, есть идеи?

Код без внешней резьбы:

private void nickName_TextChanged(object sender, EventArgs e)
        {
            //Thread updateAC = new Thread(updateAutoComplete);
            //updateAC.Start();
            AutoCompleteStringCollection collection = new AutoCompleteStringCollection();
            collection.AddRange(db.getUsersByLetters(nickName.Text).ToArray());
            nickName.AutoCompleteCustomSource = collection;
            ((mainForm)Parent).currentNick = nickName.Text;    
            error.Visible = false;
        }

Код с внешней резьбой:

        private void nickName_TextChanged(object sender, EventArgs e)
        {
            Thread updateAC = new Thread(updateAutoComplete);
            updateAC.Start();
            ((mainForm)Parent).currentNick = nickName.Text;    
            error.Visible = false;
        }

        public delegate void InvokeDelegate();
        private void updateAutoComplete()
        {
            AutoCompleteStringCollection collection = new AutoCompleteStringCollection();
            collection.AddRange(db.getUsersByLetters(nickName.Text).ToArray());
            nickName.Invoke(new InvokeDelegate(() => { nickName.AutoCompleteCustomSource = collection;}));
        }

Результат: enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...