C#中showDialog()與show()的區別(轉)


面對多窗口的調用的時候,我們往往不喜歡窗口之間的隨意切換,那樣我們還有花費時間尋找我們要用的窗口,而且,一但出現問題,窗口的順序也有可能被再次打亂,很是不順手,那么我們怎么辦呢?
我們可以將show方法轉化為showdialog方法,顧名思義,showdialog是一個進行路經綁定的show方法,他是不可以自由切換的,換言之,就是,當你沒有關閉你當前頁的前提下,你是無法關閉該頁面后面的任一頁面的,它是當前唯一(路經打開)為true的。
而show方法由於未進行綁定,它所顯示的各個窗口、對話框是可以相互切換,而不需要關閉當前窗口、對話框。但是他由於未進行綁定,所以每個由show方法打開的窗口的順序是非固定的,如果遇到什么問題,由show方法打開的窗口的順序可能會有很大的改變!

show()僅僅是顯示出來窗口界面而已```也就是和你執行的結果在同一窗口顯示```所顯示的窗口可以在后台運行```而showDialog()是一個對話框窗口界面```執行結果以新窗口界面出現```不允許進行后台運行```就是你想編輯什么的時候```非得先關閉showDialog()窗口界面才可以進行其他操作```

這就是它們的一點小區別了```

show()是非模式窗體.
showDialog()是模式窗體.
區別在於,以showDialog()打開的窗體,要等窗體關閉后才能操作其他窗體.而show()則不受此限制.

這是最經常的區別了,
還有一個我個人使用的心得,你可以了解

比如你先打開子窗體,想隱藏主窗體。
如果這個時候用Show的話,則會發生的事情是,打開子窗體的同時主窗體又顯示出來,而使用ShowDialog()的時候主要當子窗體關閉的時候主窗體才會顯示。
簡單代碼如下:
Form2 f2 = new Form2();
this.Visible = false;
f2.ShowDialog();
this.Visible= true;
這就是模態對話框的與Show的區別。


免責聲明!

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



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