我想知道如何关闭当前C#表单并打开另一个表单的最佳方法
DetailForm df = new DetailForm();
df.Show();
this.Hide();
this.Dispose();
Run Code Online (Sandbox Code Playgroud)
Jon*_*zzi 10
DetailForm df = new DetailForm();
df.Show();
this.Close();
Run Code Online (Sandbox Code Playgroud)
但要小心,如果关闭主窗体,应用程序将被关闭.
EDITED
要运行此项,如果第一个表单是主表单,则需要执行更多操作.尝试这样的事情:
将Program.cs文件更改为:
public static class Program
{
public static bool OpenDetailFormOnClose { get; set; }
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
OpenDetailFormOnClose = false;
Application.Run(new MainForm());
if (OpenDetailFormOnClose)
{
Application.Run(new DetailForm());
}
}
}
Run Code Online (Sandbox Code Playgroud)
在主要形式中,关闭它:
private void Foo(object sender, EventArgs e)
{
Program.OpenDetailFormOnClose = true;
this.Close();
}
Run Code Online (Sandbox Code Playgroud)
如果OpenDetailFormOnClose在主窗体关闭后设置为true,则将调用DetailForm.