跨线程Winforms控件编辑[重复]

Posted

技术标签:

【中文标题】跨线程Winforms控件编辑[重复]【英文标题】:Cross-thread Winforms control editing [duplicate] 【发布时间】:2011-02-03 12:17:12 【问题描述】:

如果正在编辑文本“属于”的代码与包含 windows 窗体的线程不同,我如何编辑 windows 窗体元素中的文本?我得到了例外:

跨线程操作无效:控件“textBox1”从创建它的线程以外的线程访问。

谢谢。

【问题讨论】:

请出示代码....因为这不足以让我们为您提供帮助! ***.com/questions/661561/… 【参考方案1】:

您需要像这样使用Control.Invoke 方法:

textbox1.Invoke((MethodInvoker)(() =>
   
     textbox1.Text="some text";
   ));

也请查看这篇文章:Threading in UIs

【讨论】:

在类中插入Action y;并执行代码label1.Invoke(y = () => label1.Text = "Any text");

以上是关于跨线程Winforms控件编辑[重复]的主要内容,如果未能解决你的问题,请参考以下文章

尝试为标签控件赋值时出现跨线程操作错误[重复]

跨线程操作无效[重复]

为啥我的 .Net/WinForms 应用程序仅在 Visual Studio 中获得跨线程异常? [复制]

VB跨线程调用WPF控件

c#如何跨线程调用窗体控件

c#中如何跨线程调用windows控件