您的位置:首页 > 编程语言 > C#

C#关闭一个窗口的同时打开另一个窗口

2012-07-06 14:55 483 查看
在.net的WinForm程序中,如果是直接起动的Form作为主窗口,那么这个主窗口是不能关闭的,因为它维护了一个Windows消息循环,它一旦关闭了就等于声明整个应用程序结束,所以新打开的窗口也就被自动关闭了。因此要关闭的窗口不能用Application.Run创建。
要在关闭一个窗口的同时打开另一个窗口,可以按如下做法:

先在第一个窗口声明一个公共的bool变量并赋值为true:
如public bool closeflag = true;
在program类里运行第二个窗口,主要代码:
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Form1 form1 = new Form1();
form1.ShowDialog(); //模式窗口,先运行Form1的作用
if (from1.closeflag == false)
{
Application.Run(new Form2());
}

然后在Form1的关闭的相关控件(如按钮或什么的,就是要关闭这个窗口的控件) 将closeflag赋值为false,并调用this.close();关闭第一个窗口。

(引)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: