【发布时间】:2012-10-25 22:43:42
【问题描述】:
我的应用中有 2 个表单,Form1 和 Form2。我想知道是否有
检查表单是否已加载的更好方法。如果表格是
加载到内存中并且可见,我希望按钮什么也不做,如果User
已经关闭了它应该重新实例化它的表单。
欲了解更多信息,请查看我的代码或评论.. :)
public partial class Form1: Form
{
private Form2 form2;
public Form1() {
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e) {
if (form2== null) {
form2= new Form2();
} else {
if (form2.has_exited()) { // this is a private property
// that I set when Form2.Closing executes
form2.Dispose();
form2= new Form2();
}
}
form2.Show();
}
}
【问题讨论】:
-
你可以让表单的实例一直处于活动状态,永远不要调用它的 Close 方法,而是隐藏它,然后使用 Form2.Visible (true -> shown, false -> hidden)
-
所有解决方案看起来都不错,但我不确定该选择哪一个。我会选择正确的答案作为最多票