Winform中如何實現子窗體刷新父窗體


原理:利用委托和事件,本文將以圖文並茂的例子講述,告訴我們So Easy

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

一.窗體展示

首先我們看到是一個父窗體,我們可以看到左邊是一個[樹控件],我們將點擊[添加大類]和[添加字典]時調出子窗體

 

接下來是子窗體展示,當我們點擊取消或者關閉按鈕時,我們需要看到我們添加或者修改的數據能展示出來,這就是我們要做的事

.

 

二.代碼展示

首先是子窗體中的代碼,我們需要定義一個委托和事件

        //定義委托
        public delegate void Refresh();

        //定義事件
        public event Refresh myRefresh;

  其次是父窗體的代碼,我們需要定義一個刷新的方法

        /// <summary>
        /// 刷新控件信息
        /// </summary>
        /// <author>PengZhen</author>
        /// <time>2013-10-25 14:46:21</time>
        private void RefreshControl()
        {
            //綁定樹信息
            BindTree();
        }

  

當上面兩步完成之后,我們就要就行調用,進行刷新操作了

首先是父窗體中的代碼,當我們點擊[添加大類]或者[添加字典]時在相應的按鈕事件中添加如下代碼

            //子窗體

            ChildForm objCF= new ChildForm();

            //定閱這個事件
            objCF.myRefresh += new ChildForm.Refresh(RefreshControl);
            //展示子窗體
            objCF.ShowDialog();

  

其次是子窗體的代碼,當我們點擊[取消]或者[關閉窗體]時在相應的按鈕事件中添加如下代碼

取消:

        /// <summary>
        /// 取消
        /// </summary>
        /// <author>PengZhen</author>
        /// <time>2013-10-23 15:15:57</time>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btCancel_Click(object sender, EventArgs e)
        {

            this.Close();

            //關閉的時候執行事件
            myRefresh();
        }

   關閉事件

        /// <summary>
        /// 用戶點擊關閉窗體后執行操作
        /// </summary>
        /// <author>PengZhen</author>
        /// <time>2013-10-25 15:00:45</time>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void DataDictionaryInfoFrm_FormClosed(object sender, FormClosedEventArgs e)
        {
            //關閉的時候執行事件
            myRefresh();
        }

  OK,寫到這基本都完成了,有木有發現非常簡單呢


免責聲明!

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



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