1

我正在尝试将一个项目添加到来自 Form5 的 Form4 上的 listBox1 中。我对其进行了研究,并在该站点上找到了应该可行的答案:

var form = Form.ActiveForm as Form4;
form.listBox1.Items.Add("aaa");

我得到一个“NullReferenceException”。这就是我找到的解决方案,但我什至不明白为什么它应该起作用。我的 Form4 实例称为 formfour,我从主窗体创建这样的:

Form4 formfour = new Form4();
formfour.Show();

listBox1 修饰符设置为 public。

4

2 回答 2

3

你得到的原因NullRefereneException是你的电流ActiceForm没有被铸造成Form4,这就是你进入null你的实例的原因form

从问题看来,您已经Form4打开并且您希望将该表单设置为活动状态:

您可以使用Application.OpenForms属性并获取如下实例Form4

Form4 form = Application.OpenForms["Form4"] as Form4;
if(form != null)
   form.Focus();

另外,如果您想将项目添加到现有表单的列表框中,则:

form.listBox1.Items.Add("aaa");
于 2013-03-29T04:52:58.240 回答
0

在 Form5 中

   Form4 frm4= new Form4();
   frm4.listbox.Items.Add("aaa"); 
   // make sure that the listbox on form4 is set to public from its properties

要刷新 form4 使用

   frm4.refresh();

更多信息请通过此链接

于 2013-03-29T04:51:06.117 回答