none
關於開啟/關閉WinForm時的生命週期問題.. RRS feed

  • 問題

  •                         Form1 form1 = new Form1();
                            form1.Close();

                            Form2 form2 = new Form2();
                            form2.Show();

    我想要在form1上按下按鈕後關掉Form1開啟Form2,可是並沒達到想要目的,Form1連關閉都沒有Form2也沒開啟
    就算我用this.close()的話,會把整個專案都直接關閉...Form2也沒開啟

    請問該怎麻做好呢??

    2007年3月19日 上午 06:58

所有回覆

  • 你的概念需要加強 ...

    Form1 form1 = new Form1(); // 這是建立新的 Form1 物件個體,和已經存在的 Form1 一點關係都沒有 .
    form1.Close();

    Form2 form2 = new Form2();
    form2.Show();

    而且你可以去看你的 Program.cs,裡面應該會有這一行:

    Application.Run(new Form1());

    這表示應用程式的訊息迴圈會存在於 Form1,那你用 this.Close(),不就把應用程式訊息迴圈關掉了,那應用程式當然會終止 .

    2007年3月19日 上午 07:24
    版主
  • 用this.Hide()隱藏Form1就好,不能關掉它,不然程式會結束
    2007年3月19日 上午 07:59