none
如何把Hide的Form全部一起關掉 RRS feed

  • 問題

  • 因為我的winform頁面有很多頁
    可是我全都是用 New Form 然後用 Show 和 hide 的方式切換
    所以最後要關閉的時候會有很多被Hide的Form關不掉
    請問可以從哪邊下Code 把那些form全部一起關掉?
    2007年7月17日 上午 09:49

解答

  • Dear Sir

    程式的動作在執行到下面這一行之後

    Application.Run(new ABNForm());

    便會停住等待 ABNForm 結束之後才會往下執行,您可以利用中斷來觀察程式執行的流程;您應該在Form的程式碼中在要離開程式的地方加上 Aplication.Exit(); 測試看看。

    2007年7月19日 下午 03:12

所有回覆

  • Dear Sir

    您測試看看下 Application.Exit(); 這個方式是否可以達到你的需求。

    2007年7月17日 下午 03:35
  • Code Snippet

        static class Program
        {
            /// <summary>
            /// The main entry point for the application.
            /// </summary>
            [STAThread]
            static void Main()
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new ABNForm());

               Application.Exit();
            }
        }

     

    下在這邊,好像還是一樣被HIDE的不會關閉

    還是我下錯地方?

     

    2007年7月18日 上午 01:38
  • Dear Sir

    程式的動作在執行到下面這一行之後

    Application.Run(new ABNForm());

    便會停住等待 ABNForm 結束之後才會往下執行,您可以利用中斷來觀察程式執行的流程;您應該在Form的程式碼中在要離開程式的地方加上 Aplication.Exit(); 測試看看。

    2007年7月19日 下午 03:12
  • Application.Run(new ABNForm());可以用,

    不過我是比較想要把程式結束時,整個關掉

    可能我說的比較不清楚,不過友站有其他人提供一段CODE

    也是不錯的參考,


    Code Snippet
            private void Form1_FormClosing(object sender, FormClosingEventArgs e)
            {
                Form frm;
                for (int idx = Application.OpenForms.Count - 1; idx >= 0; idx += -1)
                {
                    frm = Application.OpenForms[idx];
                    if (!frm.Equals(this)) frm.Close();
                }
            }

     

     

    2007年7月22日 下午 02:26