首页 > 解决方案 > 闪烁的文本框

问题描述

出于某种原因,如果我要更改文本框的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;}));
        }

结果: 在此处输入图像描述

标签: c#winformsautocompletetextbox

解决方案


推荐阅读