如何在结束后重新打开表格?

Doja.

活跃的成员
加入
2014年3月23日
消息
33
编程经验
1-3
我有一条线
C#:
frmSelectmember.Default.Close();
关闭表格(此处的关闭是居住的,但我看不到如何重新加载/创建/打开表单。在vb调用form.show后,关闭后会导致它自动重新加载而不进行任何特殊但在C#中似乎你必须更明确。
 

jmplhinney.

C#论坛主持人
工作人员
加入
2011年4月23日
消息
3,732
地点
悉尼,澳大利亚
编程经验
10+
在VB中,您可以使用类名称来访问默认实例。在幕后,它将创建一个新实例,如果没有现有的一个或现有的实例。 vb使您似乎可以在关闭它后第二次显示表格,但您不能;这只是VB自动为您创建新的。在C#中,您必须为自己创建实例。 vb也曾经是那样的,说实话,我不是唯一希望它仍然是的人。默认情况导致它们解决的问题。

无论如何,你应该做什么的具体情况依赖于这种情况,但你可以把这样的代码放在一个表单中,以显示另一个表单的一个实例:
private SomeForm formInstance = null;

private void ShowSomeForm()
{
    if (formInstance == null || formInstance.IsDisposed)
    {
        formInstance = new SomeForm();
    }

    formInstance.Show();
    formInstance.Activate();
}
null的测试处理第一个实例,并对IsDisposed处理后续实例进行测试。呼叫显示显示新实例和调用的句子,以激活句柄,其侧重于现有实例。
 
最佳 底部