我想添加一个项目到listBox1,从Form5上的Form4。我研究了一下,在这个网站上找到了一个应该有效的答案:
var form = Form.ActiveForm as Form4;
form.listBox1.Items.Add("aaa");
我得到一个"NullReferenceException"。这是我找到的解决方案,但我甚至不明白为什么它应该工作。我的Form4实例名为formfour,我在主表单中创建如下内容:
Form4 formfour = new Form4();
formfour.Show();
listBox1修饰符设置为public
您获得NullRefereneException
的原因是您当前的ActiceForm
没有被转换为Form4
,这就是为什么您在实例form
中获得null
的原因。
从问题看来,你已经打开了Form4
,你想把这个表单设置为活动的:
您可以使用Application.OpenForms
属性并获得Form4
的实例,如:
Form4 form = Application.OpenForms["Form4"] as Form4;
if(form != null)
form.Focus();
如果你想在现有表单的列表框中添加项目,那么:
form.listBox1.Items.Add("aaa");
In Form5
Form4 frm4= new Form4();
frm4.listbox.Items.Add("aaa");
// make sure that the listbox on form4 is set to public from its properties
使用
刷新表单 frm4.refresh();
更多信息请点击链接