Winform UI界面设计例程——多线程访问UI控件

这里讨论两种多线程访问UI控件的方法,线程完成后更新Lable控件

如下图,第一种方式为方式1按钮按下,线程运行,并更新label

第二种方法为按下方式2按钮,线程运行,完成后更新label

Winform UI界面设计例程——多线程访问UI控件_第1张图片

 新建winform项目程序,布局如上,大家可以不用配色,简单即可

引用

using System.Threading;

 第一种方法:使用delegate和invoke来从其他线程中调用控件

 当一个控件的InvokeRequired属性值为真时,说明有一个创建它以外的线程想访问它,所以我们判断这个属性来更新label的值

 private void button1_Click(object sender, EventArgs e)
        {
            Thread thread1 = new Thread(new ParameterizedThreadStart(UpdateLabel));
            thread1.Start("更新label");
        }
        private void UpdateLabel(object str)
        {
            if (label1.InvokeRequired)
 

你可能感兴趣的:(C#winfrom,UI,设计,ui,多线程,UI控件,跨线程,C#)