C#中窗體show()與showdialog()的區別


在C#中窗口的顯示有兩種方式:模態顯示(showdialog)和非模態顯示(show)。
二者最常見的區別是:

模態顯示后,
彈出窗口阻止調用窗口的所有消息響應。
只有在彈出窗口結束后調用窗口才能繼續。
在模態窗口“關閉”后,可以讀取模態窗口中信息,包括窗口的返回狀態,窗口子控件的值。

舉例子:

private void btn_Add_Click(object sender, EventArgs e)
        {
            GroupAdd f = new GroupAdd();
            f.ShowDialog();
            Fill();
        }

上述f窗體f.showDialog()后后面的Fill()代碼並沒有被執行,當f窗體關閉后,Fill()才被執行。

用在增加分組時增加完了,顯示窗口才會被填充

 

 



非模態顯示后,
可以在彈出窗口和調用窗口之間隨意切換。
調用窗口調用show方法后,下面的代碼可以立即執行。
在非模態窗口關閉后,窗口的所有資源被釋放,窗口不存在,無法獲取窗口的任何信息。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM