none
form close RRS feed

  • 問題

  •  

    請問一下要是我有兩個 form  1 , 2 當我在 form1 有一個按鈕按下時去 new form2 show 然後

    要 close form1 請問要怎樣用

    c# 有 hidden 的 method?

    2008年4月2日 下午 03:56

解答

  • 如果 Form1 是你應用程的主要視窗,關閉 Form1 會把整個應用程式關閉。
    此時,你可以修改 Program.cs 預設應用啟動時,不特別繫結 Form1。

    Application.Run(new Form1());

    改為

    Form1 f1 = new Form1();
    f1.Show();
    Application.Run();

    現在應用程式啟動時還是會開啟 Form1,但是不會因為你關閉 Form1 而關閉應用程式。
    所以你就可以在某個按鈕撰寫程式碼,顯示另一個視窗而不會影響應用程式的開關。

    private void button1_Click(object sender, EventArgs e)
    {
        Form2 f2 = new Form2();
        f2.Show();
        this.Close();
    }

    但是要注意的是 Form2 的 FormClosing 事件,要自己寫程式碼讓應用程式可正常關閉。

    private void Form2_FormClosing(object sender, FormClosingEventArgs e)
    {
        Application.Exit();
    }



    2008年4月2日 下午 11:36

所有回覆

  • 如果 Form1 是你應用程的主要視窗,關閉 Form1 會把整個應用程式關閉。
    此時,你可以修改 Program.cs 預設應用啟動時,不特別繫結 Form1。

    Application.Run(new Form1());

    改為

    Form1 f1 = new Form1();
    f1.Show();
    Application.Run();

    現在應用程式啟動時還是會開啟 Form1,但是不會因為你關閉 Form1 而關閉應用程式。
    所以你就可以在某個按鈕撰寫程式碼,顯示另一個視窗而不會影響應用程式的開關。

    private void button1_Click(object sender, EventArgs e)
    {
        Form2 f2 = new Form2();
        f2.Show();
        this.Close();
    }

    但是要注意的是 Form2 的 FormClosing 事件,要自己寫程式碼讓應用程式可正常關閉。

    private void Form2_FormClosing(object sender, FormClosingEventArgs e)
    {
        Application.Exit();
    }



    2008年4月2日 下午 11:36
  • 抱歉我還是找不到

    要是這樣會一起在關閉所有的form

     

     
      public Form1()
    {

    InitializeComponent();


    }
    private void button1_Click(object sender, EventArgs e)
    {
    Form2 f2 = new Form2();

    f2.Show();

    this.Close();
    }


    From java convert to C++
    2010年4月12日 下午 12:32