2

每当我想显示一个新表单时,我都会创建一个新表单对象并隐藏当前表单。例如:

this.Hide();
new Form2().Show();

通过这种方式,一个新对象不断被创建,而旧表单仍在运行,但隐藏在某个地方。

我想知道这样做最合适的方法是什么,我已经这样做了很长时间,每当我这样做时,我都觉得自己做错了。我的意思是我们如何访问前一个对象并将其设置回显示而不是创建一个新对象。

4

1 回答 1

3

使用Application.OpenForms属性来获取已经打开的表单对象并显示它。

OpenForms 属性表示应用程序拥有的表单的只读集合。可以通过索引位置或表单名称搜索此集合。

Form1 frm1 = Application.OpenForms["Form1"] as Form1 ;
if (frm1 != null)
{
    frm1.Show(); 
}
于 2013-09-25T12:29:23.047 回答