我有两个班(形式),我想从一个项目class2
被添加到listBox
在class1
,当我点击“接受”按钮。
我试着用下面的代码,但没有在列表框中的变化:
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();
}
我在哪里犯这样的错误?
声明RentalId
物业Form2
。 而在CarRental
形式(你的第一种形式)做如下:
using(Form2 form2 = new Form2())
{
if (fomr2.ShowDialog() != DialogResult.OK)
return;
listBox.Items.Add(form2.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();
}