C#中showDialog()与show()的区别(转)
面對多窗口的調(diào)用的時候,我們往往不喜歡窗口之間的隨意切換,那樣我們還有花費時間尋找我們要用的窗口,而且,一但出現(xiàn)問題,窗口的順序也有可能被再次打亂,很是不順手,那么我們怎么辦呢?
我們可以將show方法轉(zhuǎn)化為showdialog方法,顧名思義,showdialog是一個進(jìn)行路經(jīng)綁定的show方法,他是不可以自由切換的,換言之,就是,當(dāng)你沒有關(guān)閉你當(dāng)前頁的前提下,你是無法關(guān)閉該頁面后面的任一頁面的,它是當(dāng)前唯一(路經(jīng)打開)為true的。
而show方法由于未進(jìn)行綁定,它所顯示的各個窗口、對話框是可以相互切換,而不需要關(guān)閉當(dāng)前窗口、對話框。但是他由于未進(jìn)行綁定,所以每個由show方法打開的窗口的順序是非固定的,如果遇到什么問題,由show方法打開的窗口的順序可能會有很大的改變!
show()僅僅是顯示出來窗口界面而已```也就是和你執(zhí)行的結(jié)果在同一窗口顯示```所顯示的窗口可以在后臺運行```而showDialog()是一個對話框窗口界面```執(zhí)行結(jié)果以新窗口界面出現(xiàn)```不允許進(jìn)行后臺運行```就是你想編輯什么的時候```非得先關(guān)閉showDialog()窗口界面才可以進(jìn)行其他操作```
這就是它們的一點小區(qū)別了```
show()是非模式窗體.
showDialog()是模式窗體.
區(qū)別在于,以showDialog()打開的窗體,要等窗體關(guān)閉后才能操作其他窗體.而show()則不受此限制.
這是最經(jīng)常的區(qū)別了,
還有一個我個人使用的心得,你可以了解
比如你先打開子窗體,想隱藏主窗體。
如果這個時候用Show的話,則會發(fā)生的事情是,打開子窗體的同時主窗體又顯示出來,而使用ShowDialog()的時候主要當(dāng)子窗體關(guān)閉的時候主窗體才會顯示。
簡單代碼如下:
Form2 f2 = new Form2();
this.Visible = false;
f2.ShowDialog();
this.Visible= true;
這就是模態(tài)對話框的與Show的區(qū)別。
轉(zhuǎn)載于:https://www.cnblogs.com/pang123hui/articles/2398039.html
總結(jié)
以上是生活随笔為你收集整理的C#中showDialog()与show()的区别(转)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IC卡产业链
- 下一篇: c# 注册表.代码示例.(迭代遍历注册表