C#.NET中怎样打开一个新Form,同时关闭当前Form?

C#.NET中怎样打开一个新Form,同时关闭当前Form?
2025-01-06 13:15:23
推荐回答(5个)
回答1:

如果在 Form1 中实例化一个 Form2 那么必然会一关都关
因为此时 F2的实例是属于F1的
可以这样做
修改 Program.cs 文件的 Main 方法
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());

Form2 frm = new Form2();
frm.ShowDialog();
}
如果通过验证,那么就关闭窗体1,窗体2也就自然的出来了
如果没通过则 application.exit(); 关闭整个应用程序

回答2:

这两个窗口不能在同一个线程中。
必须一个主线程。
在主线程中打开原来的from,当原来的from关闭事件时,
在主线程中打开新的form。

如果在同一个线程中,那么原窗口关闭,新窗口也会自动关闭。
因为新窗口是原窗口的子窗口。你想父亲都不在了,儿子窗口怎么会还在呢。

回答3:

线程操作比较麻烦,建议楼主考虑使用:form2 new出来时,form1 hide,需要的时候又show出来!简单!
代码:
form1:
fmm = this;
Form2 fm = new Form2();
fm.Show();
fmm.Hide();
form2:
Form1.fmm.Show();
Close();

在form1建个form型变量记录form1的窗口!
public static Form fmm;

回答4:

woxikuanwan的方法可行。

回答5:

form aa= new 窗体名字() ;aa.show(); this.close(); OK