1

我有一个名为“tables”的类和一个winform“Form1”,表单上有一个名为“table3”的按钮。“表”类中的代码在单独的线程中运行,需要访问主窗体上的按钮,这就是我所拥有的:

Form1.ActiveForm.BeginInvoke(
(Action)(() =>
{
    Form1.ActiveForm.Controls["table3"].Text = "test";
}));

我得到一个空引用异常。按钮的名称是正确的。还有其他问题,我不确定它可能是什么:/

4

2 回答 2

0

试试这个:

Invoke(new Action<object>((args) =>
{
    Form1.ActiveForm.Controls["table3"].Text = "test";
}));
于 2013-10-17T10:57:59.430 回答
0

如果您收到 NullReferenceException,则引用为空。所以要么Form1.ActiveForm == null,要么Form1.ActiveForm.Controls == null,要么Form1.ActiveForm.Controls["table3"] == null

我假设Form1是类的名称并且ActiveForm是静态属性。

于 2013-10-17T11:17:52.607 回答