您好,登錄后才能下訂單哦!
這篇文章主要介紹了C#彈出窗口show()和showdialog()的方法怎么使用的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇C#彈出窗口show()和showdialog()的方法怎么使用文章都會有所收獲,下面我們一起來看看吧。
我們在構建C# Form窗口的時候經常需要到彈出新的窗口,那么接著就會如何彈出窗口的疑問。這里介紹最常見的兩種彈窗方法show()和showdialog()。我在VS2019中構建一個簡單的工程來講解讓他們之間的區別。大家也可以動手建一個體驗他們之間的區別。
form.Show()彈出窗口
這個方法彈出來的窗體和父窗體(上一個窗體)是屬于同一等級的窗體,這兩個窗體可以同時存在而且可以隨意切換。
form.ShowDialog()彈出窗口
showdialog彈出來的窗體就不能這樣,它永遠是被置頂的,如果不關閉這個窗體,那就不能使用別的窗體,別的窗體都是灰顯的。
首先我們建立兩個基本窗口類,如下圖,一個是首先會啟動的Form主窗口(右邊),其次是彈出界面Dialog(左邊)。
將兩個窗口的代碼添加到對應的類中。添加的按鍵單擊事件中增加下面的主窗口代碼和彈出窗口代碼。
(1)主窗口代碼:
public Form1() { InitializeComponent(); } //實例化窗口類 Dialog _dlg = new Dialog(); private void button_show_Click(object sender, EventArgs e) { _dlg.Show();//顯示 } private void button_hide_Click(object sender, EventArgs e) { _dlg.Hide();//隱藏 } private void button_showDialog_Click(object sender, EventArgs e) { //實例化窗口類 Dialog _dialog = new Dialog(); //彈出對話框 _dialog.ShowDialog(); }
(2)彈出窗口代碼:
public Dialog() { InitializeComponent(); } private void button_ok_Click(object sender, EventArgs e) { //指定返回結果 this.DialogResult = DialogResult.OK; //關閉 this.Close(); } private void button_cancel_Click(object sender, EventArgs e) { //指定返回結果 this.DialogResult = DialogResult.Cancel; //關閉 this.Close(); } private void hide_Click(object sender, EventArgs e) { //隱藏 this.Hide(); }
我們可以看到這些Show()方法和ShowDialog()方法都可以彈出我們想要的窗口,但是他們的效果明顯不同,可以小結概述為下面幾個方面差異。
項目 | Show()方法 | ShowDialog()方法 |
---|---|---|
名稱 | 顯示控件 | 顯示對話框 |
關閉的對應方法 | Hide() 隱藏控件 | Close()關閉窗體 |
編輯顯示效果 | 和主窗口平級,彈出子窗口后,兩者可以任意切換到頂層和編輯。 | 比主窗口優先級高,彈出編輯子窗口只能編輯子窗口,子窗口獨占頂層,只有關閉(close)返回后,用戶才可以編輯主窗口。 |
理模顯示理解 | 顯示或隱藏控件,隱藏時并沒有關閉,只是看不見,還存在。 | 打開等待關閉的對話框,打開就存在,關閉就清除,和messageBox類似,關閉等同于右上角的叉叉(×)。 |
重點:Show()和Hide() 是一對,ShowDialog()和Close()是一對。 請一一對應,不能混用的哦。
關于“C#彈出窗口show()和showdialog()的方法怎么使用”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“C#彈出窗口show()和showdialog()的方法怎么使用”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。