2020年4月8日 星期三

在WINFORM上利用BUTTON切換PANEL

例如在PANEL1上要切換成子視窗FORM2和FORM3

為了檢查不重複產生子視窗,所以先用全域變數宣告在前面

 private static Form F2;
 private static Form F3;




        private void button1_Click(object sender, EventArgs e)
        {
            if(F2 == null || F2.IsDisposed)     //檢查有沒有已經開啟的子視窗
            {
                F2 = new FormPass();
                F2.TopLevel = false;                 //不加這行不能使用
                F2.Dock = DockStyle.Fill;       //填滿PANEL1
                F2.Parent = this.panel1;
                F2.Show();
                F2.BringToFront();                  //顯示在最上層,不然會被PANEL1蓋掉
            }
            else
            {
                F2.BringToFront();                 //已經產生就顯示在最上層
            }
         }

        private void button2_Click(object sender, EventArgs e)
        {
            if(F3 == null || F3.IsDisposed)     //檢查有沒有已經開啟的子視窗
            {
                F3 = new FormPass();
                F3.TopLevel = false;                 //不加這行不能使用
                F3.Dock = DockStyle.Fill;       //填滿PANEL1
                F3.Parent = this.panel1;
                F3.Show();
                F3.BringToFront();                  //顯示在最上層,不然會被PANEL1蓋掉
            }
            else
            {
                F3.BringToFront();                   //已經產生就顯示在最上層
            }
         }

這樣可以用按鈕切換兩種視窗在PANEL容器中

沒有留言:

張貼留言