跨线程操作:调用许多文本框

时间:2015-02-20 09:47:49

标签: c# multithreading exception textbox

我不确定我的头衔是否正确,因为我真的不知道我在做什么。

我正在Visual Studio中创建一个表单,它通过serialPort与arduino进行通信。

在表格中,我有大约9个文本框需要更新/附加文字。

当我这样做时,我得到“Cross thread operaton无效”异常。在查看stackoverflow之后,我找到了一个解决方案:[跨线程操作无效:控制'textBox1'从除了创建它的线程以外的线程访问] [1]

  

[1]:   Cross-thread operation not valid: Control 'textBox1' accessed from a thread other than the thread it was created on

这个解决方案适合我,但它有点尴尬。因为我有9个文本框,所以我必须创建9个“SetText”方法,这些方法非常笨重。 我想知道是否有一个更通用的解决方案,我可以在我拥有的每个文本框上使用它?

提前致谢

1 个答案:

答案 0 :(得分:0)

如果我了解你,也许你可以考虑一种更简单的方法。快速解决方案可能正在使用共享事件。 也许你可以从你的课程中提出一个自定义事件,然后,你只需要从你的表单中听到它,以便接收文本或更复杂的参数,例如结构或具有更多信息的类(控件的名称)要更新+文本,或任何你需要的。)