跨線程更新訪問UI控件

//ThreadStart :表示一個委託
Thread objThread1 = new Thread(() =>
{
    for (int i = 1; i <= 100; i++)
    {
        a += i;
        if (this.lblResult1.InvokeRequired)//判斷是否調動Invoke方法
        {
            //Invoke()方法的第一個參數是返回值爲void的委託,第二個是給委託對應方法傳遞的參數
            this.lblResult1.Invoke(new Action<string>(s => { this.lblResult1.Text = s;
           }), a.ToString());
        }
        Thread.Sleep(200);
     }
});
objThread1.IsBackground = true;
objThread1.Start();

        //爲了方便日常使用,提供了一個方法屬性來實現同樣的功能。
        [MethodImpl(MethodImplOptions.Synchronized)]
        private void ActionMethod()

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章