无效的操作异常 - “跨线程操作无效:控制'TextBox1'从其创建的线程以外的线程访问。”

时间:2010-03-08 16:05:00

标签: c# .net winforms exception

  

“如果必要的是母亲   发明,我想杀死那个人   谁发明了这个。“

     

-Jimmy Buffet

我不在乎100名有百万声望的人是否因为这样说而跳下我的喉咙,但谁想到抛出这个例外应该比死亡更糟糕。

我有 QUITE LITERALLY 将代码从一个项目复制并粘贴到另一个项目,以将标准数据填充到一小组文本框中。在一个应用程序中,数据显示完美。我现在正在研究的新工具当然会抛出这个例外。

所以这是我的问题 - 如果代码是相同的话,为什么要扔掉它而另一个不扔?项目设置中是否有设置?文本框中是否有属性可以阻止此操作?

我不记得在项目中设置任何内容来忽略此异常,但代码完全相同

2 个答案:

答案 0 :(得分:4)

在创建控件的线程上设置STAThread属性?

是否在UI线程中调用了填充代码?没有人关心你是否正确复制了代码 - 如果调用是在错误的线程上开始的话。

答案 1 :(得分:1)

我不想重复错误消息,但是您尝试从与创建控件的线程不同的线程修改控件。

查看InvokeRequiredInvoke