1. 程式人生 > >WinForm顯示窗體的兩種方法

WinForm顯示窗體的兩種方法

Form.Show() 無模式窗體 form.Modal=false

Form.ShowDialog() 模式窗體form.Modal =true

(注:modal屬性只有在窗體load事件中或者之後才可以查出,窗體建立之前時無法得知此案時方式的,因此在窗體建構函式中Modal屬性總是false)

區別(親測):

(1)呼叫From.Show()方法後,Show方法後的程式碼會立即被執行;而在呼叫From.ShowDialog方法後,直到關閉窗體,才會執行其後方法

(2)當窗體呼叫為模式窗體時,點選“關閉”按鈕會隱藏窗體,並將DialogResult屬性設定為DialogResult.Cancel;與無模式窗體不同,當用戶單擊對話方塊的關閉按鈕,或設定DialogResult屬性的值時,不呼叫窗體的Close方法;實際上時把窗體的Visible屬性賦值為False,隱藏窗體了。

這樣隱藏的窗體時可以重新顯示的,而不用建立該對話方塊的新例項

因為未關閉窗體,所以在應用程式不再需要該窗體時,使用Dispose方法

(3)窗體呼叫為模式時,無法再點選該窗體以外的窗體