我正在尝试将一个项目添加到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。
答案 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