日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

C#?彈出窗口show()和showdialog()的兩種方式_C#教程

作者:火星papa ? 更新時間: 2022-09-15 編程語言

我們在構建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()是一對。 請一一對應,不能混用的哦。

原文鏈接:https://blog.csdn.net/weixin_45023644/article/details/125639125

欄目分類
最近更新