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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM