[英]Accessing WinForms Control from separate thread and class
我有一个名为“ tables”的类,一个winform为“ Form1”,在窗体上是一个名为“ table3”的按钮。 “表”类中的代码在单独的线程中运行,需要访问主窗体上的按钮,这就是我所拥有的:
Form1.ActiveForm.BeginInvoke(
(Action)(() =>
{
Form1.ActiveForm.Controls["table3"].Text = "test";
}));
我收到一个null引用异常。按钮的名称正确。 还有其他问题,我不确定这可能是什么:/
尝试这个:
Invoke(new Action<object>((args) =>
{
Form1.ActiveForm.Controls["table3"].Text = "test";
}));
如果您收到NullReferenceException,则引用为null。 因此,要么Form1.ActiveForm == null
,要么Form1.ActiveForm.Controls == null
,或者Form1.ActiveForm.Controls["table3"] == null
。
我假设Form1
是类的名称,而ActiveForm
是静态属性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.