在C#应用程序开发中,我们经常需要把UI线程和工作线程分开编程,为了防止界面停止响应。同时,我们也需要在工作线程中去更新UI界面的控件,在CLR的线程安全中并不允许我们直接在工作线程操作UI界面。因此,介绍以下三种方式进行跨线程操作UI。
第一种方法:使用delegate和invoke来从其他线程中调用控件
private void button2_Click(object sender, EventArgs e) { Thread thread1 = new Thread(new ParameterizedThreadStart(UpdateLabel2)); thread1.Start("更新Label