(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
属性。 并以CarRental
forms(您的第一个表格)执行以下操作:
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(); }