C#:设置活动表单,更改该表单上的字段

时间:2013-03-29 04:44:43

标签: c# winforms

我正在尝试将一个项目添加到FormBox中Form4上的listBox1。我对它进行了研究,并在这个网站上找到了一个应该有效的答案:

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

我收到“NullReferenceException”。这是我找到的解决方案,但我甚至不明白为什么它应该工作。我的Form4实例叫做formfour,我从主窗体创建这样的:

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

listBox1修饰符设置为public。

2 个答案:

答案 0 :(得分: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");

答案 1 :(得分: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();

有关更多信息请参阅此link