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

本文关键字:表单 字段 设置 活动 活动表 | 更新日期: 2023-09-27 18:06:30

我想添加一个项目到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

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

您获得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();

更多信息请点击链接