(c#+ windows窗体)将项添加到不同类的listBox中

我有两个类(表单),当我单击“接受”按钮时,我希望将class2一个项添加到class1 listBox

我尝试使用以下代码,但listBox中没有任何更改:

 private void button1_Click(object sender, EventArgs e) { CarRental i = new CarRental(); string id = idRental.Text.ToString(); i.listBox1.Items.Add(id); i.listBox1.Update(); this.Close(); } 

我在哪里弄错了?

Form2上声明RentalId属性。 并以CarRentalforms(您的第一个表格)执行以下操作:

 using(Form2 form2 = new Form2()) { if (fomr2.ShowDialog() != DialogResult.OK) return; listBox.Items.Add(form2.RentalId); } 

Fomr2.RentalId这种方式实现Fomr2.RentalId属性:

 public string RentalId { get { return idRental.Text; } // you don't need ToString() call } 

然后选择“接受”按钮并将其DialogResult属性设置为OK 。 因此,单击该按钮将关闭对话框窗体并返回DialogResult.OK

你创建了一个CarRental类型的新实体。 你应该做的是将第一个表单发送到第二个构造,并通过该实例修改内容。

您需要访问打开的表单,而不是创建CarRental表单的新实例

 private void button1_Click(object sender, EventArgs e) { CarRental i = (CarRental)Application.OpenForms["CarRentalFormObjectName"]; string id = idRental.Text.ToString(); i.listBox1.Items.Add(id); i.listBox1.Update(); this.Close(); }