C# 如何重複呼叫父窗體中的子窗體

蘑菇色的小象發表於2018-12-13

當我們在父窗體中點選一個按鈕,會出現一個子窗體,又或者當點選另一個標籤,也會彈出與之前相同的子窗體。要保證兩次點選彈出的是一個窗體,要使用以下的方法,注意彈出窗體的時候不能用ShowDialog方法,必須用Show方法。下邊是具體程式碼。

private static NewForm newForm;  
  
        ///   
        /// 防止子視窗重複出現  
        /// 此處不用ShowDialog,因為那樣使父視窗不可用,會有很多限制與不方便;  
        /// 本例關鍵是定義一個子視窗的全域性變數,並作判斷  
        ///   
        ///   
        ///   
        private void btnNewForm_Click(object sender, EventArgs e)  
        {  
              
            if (newForm == null || newForm.IsDisposed)  
            {  
                newForm = new NewForm();  
                newForm.Show();  
            }  
            else  
            {  
                newForm.WindowState = FormWindowState.Normal;  
                newForm.Activate();  
            }  
        } 

 

相關文章