這里討論兩種多線程訪問UI控件的方法,線程完成后更新Lable控件
如下圖,第一種方式為方式1按鈕按下,線程運行,并更新label
第二種方法為按下方式2按鈕,線程運行,完成后更新label
?新建winform項目程序,布局如上,大家可以不用配色,簡單即可
引用
using System.Threading;
?第一種方法:使用delegate和invoke來從其他線程中調用控件
?當一個控件的InvokeRequired屬性值為真時,說明有一個創(chuàng)建它以外的線程想訪問它,所以我們判斷這個屬性來更新label的值文章來源:http://www.zghlxwxcb.cn/news/detail-402133.html
?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)
? 文章來源地址http://www.zghlxwxcb.cn/news/detail-402133.html
到了這里,關于Winform UI界面設計例程——多線程訪問UI控件的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!