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

是这样的,想请分析下,C#.NET中怎样打开一个新Form,同时关闭当前Form?
最新回答
一页

2024-10-17 15:14:05

如果在 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(); 关闭整个应用程序
若樱落如烟

2024-10-17 11:34:51

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

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

2024-10-17 08:23:28

线程操作比较麻烦,建议楼主考虑使用: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;
偏爱

2024-10-17 15:03:58

woxikuanwan的方法可行。
安静的河

2024-10-17 14:37:57

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