C# 跨线程赋值的简单做法
摘要:
通常,C#是不许跨线程赋值的,如:Form1中有个textbox, 若开辟一个新的线程来给这个textbox赋值时,会出现异常。 MSDN中提出了具体的做法,较为繁琐,就不说了。 我这里有个简单办法。 大多数能赋值的控件都有invoke 方法,invode方法中不是要一个Delegate型参数么,那简单,可以随便找个.NET自定义的Delegate,如ThreadStart就行了,因此都可以这样做: yourControl.Invoke(new ThreadStart(delegate(){ yourControl.Text = str;==注意,这个str就是Form1主线程中的变量 }.. 阅读全文
posted @ 2012-01-19 15:27 Mayvar 阅读(3832) 评论(11) 推荐(1) 编辑