跨线程更新访问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()

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