5个回答
2013-03-28
展开全部
如果在 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(); 关闭整个应用程序
因为此时 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(); 关闭整个应用程序
展开全部
这两个窗口不能在同一个线程中。
必须一个主线程。
在主线程中打开原来的from,当原来的from关闭事件时,
在主线程中打开新的form。
如果在同一个线程中,那么原窗口关闭,新窗口也会自动关闭。
因为新窗口是原窗口的子窗口。你想父亲都不在了,儿子窗口怎么会还在呢。
必须一个主线程。
在主线程中打开原来的from,当原来的from关闭事件时,
在主线程中打开新的form。
如果在同一个线程中,那么原窗口关闭,新窗口也会自动关闭。
因为新窗口是原窗口的子窗口。你想父亲都不在了,儿子窗口怎么会还在呢。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
线程操作比较麻烦,建议楼主考虑使用: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;
代码:
form1:
fmm = this;
Form2 fm = new Form2();
fm.Show();
fmm.Hide();
form2:
Form1.fmm.Show();
Close();
在form1建个form型变量记录form1的窗口!
public static Form fmm;
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
woxikuanwan的方法可行。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
form aa= new 窗体名字() ;aa.show(); this.close(); OK
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询