1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > c#如何跨线程调用窗体控件

c#如何跨线程调用窗体控件

时间:2021-03-30 15:50:09

相关推荐

c#如何跨线程调用窗体控件

publicpartialclassForm1:Form{publicForm1(){InitializeComponent();//方法1:不进行跨线程安全检查//System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls=false;}privatevoidbutton1_Click(objectsender,EventArgse){Threadth1=newThread(newThreadStart(CalNum));th1.Start();}privatevoidCalNum(){//button1.Enabled=false;intresult=0;for(inti=1;i<100000000;i++){result+=i;}SetCalResult(result);//button1.Enabled=true;}//方法2:检查是否跨线程,然后将方法加入委托,调用委托publicdelegatevoidSetTextHandler(intresult);privatevoidSetCalResult(intresult){if(label2.InvokeRequired==true){SetTextHandlerset=newSetTextHandler(SetCalResult);//委托的方法参数应和SetCalResult一致label2.Invoke(set,newobject[]{result});//此方法第二参数用于传入方法,代替形参result}else{label2.Text=result.ToString();}}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。