在做winform的时候对于跨线程的控件操作都交给委托去做。 如果控件多了就要写很多委托很烦人。
比如说有一个textbox,listview、lable ComboBox等
线程操作的时候有时候是隐藏控件,有时候是获取text有时候是获取Item有时候是修改值。
一个功能写一个委托好繁琐。有什么简单的或者通用的办法么。。
Control.CheckForIllegalCrossThreadCalls = false;就不考虑了
比如说有一个textbox,listview、lable ComboBox等
线程操作的时候有时候是隐藏控件,有时候是获取text有时候是获取Item有时候是修改值。
一个功能写一个委托好繁琐。有什么简单的或者通用的办法么。。
Control.CheckForIllegalCrossThreadCalls = false;就不考虑了
this.Invoke(new X(DoX2));void DoX1()
{
this.TextBox1.Text=...
this.TextBox1.Visible=...
this.Label1.Size=new Size(...)
}void DoX2()
{
this.ComboBox1.Text=...
}
就这个算是通用写法了,多数能达到线程安全的效果
还没用过这个呢,我去查下MSDN,谢谢了
匿名委托如果语句多了就难写了,因为匿名委托里面是没办法单步跟踪和设置断点的
{
///控件调用
});