1. 程式人生 > >C#如何線上程中修改我的窗體控制元件的text文字

C#如何線上程中修改我的窗體控制元件的text文字

以下辦法實驗成功:

執行緒不能操作窗體控制元件,會引發異常,建議使用委託進行窗體控制元件的操作,包括 改text.

1、定義委託

delegate void SetTextCallback(string text);

2、實現委託

private void SetText(string text)
        {
            //如果呼叫控制元件的執行緒和建立建立控制元件的執行緒不是同一個則為True
            if (this.textBox1.InvokeRequired)
            {
                SetTextCallback d = new SetTextCallback(SetText);
                this.textBox1.Invoke(d, new object[] { text });
            }
            else
            {
                this.textBox1.Text = text;
            }
        }

3、執行緒中呼叫該方法

private void ThreadProc()
        {
            //do something
            this.SetText("123");
 
        }