【发布时间】:2013-03-21 20:21:48
【问题描述】:
我正在编写一个应用程序,它要求从 ComboBox 中选择一个输入,然后要求从另一个 ComboBox 中选择第二个输入(基于第一个,每个第一个输入都有不同的可能性。)当两者都输入已设置,用户点击一个按钮,将这些输入传递给第二个表单并使用form2.show() 打开它(输入通过属性传递)。我想要的是能够关闭这个新表单(这个功能已经完成),然后选择新的输入并让它再次打开第二个表单,这次使用新的输入。输入会更改在新表单上调用的信息。现在,当我在更改输入后点击按钮打开新表单时,我的程序崩溃了。
有什么建议吗?!
谢谢!
更新
这是我得到的错误: System.ObjectDisposedException:无法访问已处置的对象。 对象名称:'Form2'。
还有代码。
从主窗体:
private void button1_Click(object sender, EventArgs e)
{
report_form.TypeSelected = type_selected;
report_form.LoadSelected = load_selected;
report_form.Show();
}
从子窗体:
public string TypeSelected { get; set; }
public string LoadSelected { get; set; }
private void Form2_Load(object sender, EventArgs e)
{
this.Text = "Report for " + TypeSelected + " load " + LoadSelected;
label1.Text = "Type: " + TypeSelected;
label2.Text = "Load: " + LoadSelected;
dataGridView1.DataSource = bindingSource1;
GetData();
}
private void button1_Click(object sender, EventArgs e)
{
this.Close();
}
【问题讨论】:
-
请出示您的代码。
-
没有看到你的代码这是任何人的猜测
-
请显示错误。虽然我猜这是一个 Form Disposed...
-
您必须调用
this.Hide();而不是this.Close();或使用new重新创建report_form 对象,然后才能访问这些属性。