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

Posted jack_孟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#关闭一个窗口的同时打开另一个窗口相关的知识,希望对你有一定的参考价值。

在.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();关闭第一个窗口。

 

出处:http://www.cnblogs.com/daban/archive/2012/07/06/2579471.html

以上是关于C#关闭一个窗口的同时打开另一个窗口的主要内容,如果未能解决你的问题,请参考以下文章

同时开了几个窗口要切换到另一个窗口的时候鼠标点一下窗口就会自动关闭掉

c#中,如何实现一个按钮控制另一个窗口的打开和关闭,即点击一下,新窗口打开,再点击一下,打开的新窗

请教:C#中,如何在一个窗口中执行另一个窗口的操作?

Bootstrap 3 - 从另一个模式打开模式

C# WinForm中,如何判断窗口已打开

在 PyQt5 中打开一个窗口和关闭一个窗口