一.子窗体关闭后刷新父窗体

1.父窗体代码

 1 private void button1_Click(object sender, EventArgs e)
 2  {
 3        Form2 f = new Form2();
 4        f.OnSave += new Form2.Save(f_OnSave);//定阅这个事件
 5      f.Show();
 6 }
 7 
 8 void f_OnSave()
 9 {
10        textBox1.Text = "New";
11        //在这个方法里执行你要刷新的操作
12 }

2.子窗体代码

 1 //定义委托
 2 public delegate void Save();
 3 
 4 //定义事件
 5 public event Save OnSave;
 6 private void button1_Click(object sender, EventArgs e)
 7 {
 8        this.Close();
 9        OnSave();//关闭的时候执行事件
10 }

 

 二.修改子窗体马上刷新父窗体数据

1.父窗体代码

        #region  导入Excel数据
        /// <summary>
        ///导入Excel数据
        ///Author:  
        ///WriteTime: 2014-11-17
        /// </summary>
        protected override void ImportExcel()
        {
            try
            {
                FrmUploadFolder frm = new FrmUploadFolder("FrmUnit");
                frm.Refurbish += new FrmUploadFolder.DisplayUpdate(Refurbish);//主要代码Refurbish是刷新的方法名
                frm.ShowDialog();//主要代码
            }
            catch (Exception ex)
            {
                Msg.InfoBox(ex.Message);
            }
        }
        #endregion


        #region  刷新
        /// <summary>
        ///刷新表格数据信息
        ///Author:  
        ///WriteTime: 2014-01-22 23:49:38 
        /// </summary>
        protected override void Refurbish()
        {

        dtDetails = bllClass.GetBySearch(_condition);//重新查询数据库
        Utils.FillDataTableToDataGrid(this.dgvParent, dtDetails);//绑定数据到DataGridView控件

        }
        #endregion

 

2.子窗体代码

        #region 变量   
        /// <summary> 
        /// 定义一个委托 
        /// </summary> 
        public delegate void DisplayUpdate();
        /// <summary> 
        /// 定义一个事件,执行刷新 
        /// </summary> 
        public virtual event DisplayUpdate Refurbish;
        #endregion    

 

        #region  保存
        /// <summary>
        ///保存
        /// </summary>
        protected override void Save()
        {

       try {//更细新数据集 .......//保存操作if (this.Refurbish != null) { this.Refurbish(); }         } catch (Exception ex) { Msg.InfoBox(ex.Message); } } #endregion

 

posted on 2014-02-20 12:36  清风暮雨  阅读(1837)  评论(0)    收藏  举报