如何在子线程中操作主线程的控件
2009-09-11 11:08
246 查看
一般来说,直接在子线程中对窗体上的控件操作是会出现异常,这是由于子线程和运行窗体的线程是不同的空间,因此想要在子线程来操作窗体上的控件,是不可能简单的通过控件对象名来操作,但不是说不能进行操作,微软提供了Invoke的方法,其作用就是让子线程告诉窗体线程来完成相应的控件操作。 /// <summary> /// 修改UI线程创建控件属性的委托 /// </summary> delegate void SetTextCallback(string text); private void SetText(string text) { if (this.Msg.InvokeRequired) { SetTextCallback d = new SetTextCallback(SetText); this.Invoke(d, new object[] { text }); } else { this.Msg.Text = text; } } |
相关文章推荐
- 在C#中子线程如何操作主线程中窗体上控件
- 在C#中子线程如何操作主线程中窗体上控件
- 如何在子线程中操作窗体上的控件
- 如何在子线程中操作窗体上的控件
- C#中子线程操作主线程中窗体上控件的方法
- 在线程中如何操作Form上的控件
- c#非委托方式在子线程里操作UI控件(实际上运算逻辑在子线程,更新还是在主线程,解决了UI界面无响应的问题)
- 如何在子线程中操作窗体上的控件
- 如何在子线程中操作窗体上的控件 (来自 愚翁专栏)
- C#新线程中操作主线程的控件 ,解…
- 如何在子线程中操作窗体上的控件
- 如何在子线程中操作窗体上的控件 线程间操作无效
- C#中子线程操作主线程中窗体上控件的方法
- C#中子线程操作主线程中窗体上控件的方法
- 如何解决“线程间操作无效: 从不是创建控件的线程访问它”
- 如何在子线程中操作窗体上的控件
- C#的线程中如何操作控件?
- [导入]如何在子线程中操作窗体上的控件
- 使用线程回调解决子线程无法操作主线程中定义的控件
- <iOS>关于子线程和block中操作主线程界面的控件讨论