问候,我是编程新手。
目前我的应用程序使用委托处理/执行驻留在另一个类/对象中的方法。
但是我收到一条错误声明他们居住在separte线程中。所以在搜索网页后我想出了这个:
this.Invoke(new Action(delegate() { this.ChatRichTextBox.AppendText(EventArgs.commMessage); }));
这已经很好地接受我不知道最近会发生什么。我只是粘贴了代码而且工作正常。
目前,虽然我有必要这样做,因为编译器说它不能做> < !=此操作中的操作。
请告知如何最好地实施此目标?
非常感谢你。答案 0 :(得分:4)
访问Windows窗体控件是 本质上不是线程安全的。如果你 有两个或多个线程操纵 控制的状态,是可能的 迫使控制进入 不一致的状态。其他 线程相关的错误是可能的,例如 作为竞争条件和僵局。它 确保访问权限非常重要 你的控件是在一个 线程安全的方式。
从a调用控件是不安全的 除了创建的线程以外的线程 不使用Invoke的控件 方法