通过子窗体刷新父窗体,或者其他窗体

方法一:利用事件

父窗体中注册事件及事件处理程序(用于两个窗体):

     private void btnAdd_Click(object sender, EventArgs e)
     {

                frmCustomer BabyWindow = new frmCustomer();       //实例化一个子窗体
                BabyWindow.UpdateDataGridView += new EventHandler(BabyWindow_UpdateDataGridView);   //注册事件
                BabyWindow.ShowDialog();         

   }

  public  void BabyWindow_UpdateDataGridView(object sender, EventArgs e)
  {

     LoadData()  //刷新父窗体中内容

 }


子窗体中定义事件及触发事件:

       public event EventHandler UpdateDataGridView = null;//定义一个处理更新DataGridView控件内容的方法

       protected void UpdateData()
        {
            if (UpdateDataGridView != null)//当触发更新DataGridView事件时
            {
                UpdateDataGridView(this, EventArgs.Empty);//更新DataGridView控件中的内容
            }
        }

      public void Add()    //子窗体中点击新增按钮时,触发事件
        {      
            UpdateData();
        }

方法二,定义窗体变量(用于多个窗体之间)

1、FormMain窗体中定义其他两个窗体变量,注册事件以及事件处理程序

frmUserList _frmUserList = null;    //定义frmUserList 窗体变量

frmHID fHID = null;                             //定义frmHID窗体变量

    

 private void FormMain_Load(object sender, EventArgs e)   //加载fHID

      {

               fHID = new frmHID ();       //实例化一个子窗体
               fHID .Show();        

     }

     private void btnAdd_Click(object sender, EventArgs e)    //FormMain主窗体中菜单操作代码
     {

                _frmUserList = new frmCustomer();       //实例化一个子窗体
                _frmUserList .UpdateDataGridView += new EventHandler(load_Click);   //注册事件
                _frmUserList .ShowDialog();        

     }

       public void load_Click(object sender, EventArgs e)          //A
        {        
            fHID.loadUser_Click();      //刷新其他窗体中的内容         //此处执行至B处
        }

 2、 要刷新的窗体中(frmHID )中定义刷新代码:

       public void loadUser_Click()                //B
        {
            //加载类型
            ipdUser_Load();
            tbUser.txtValue.Text = "所有";
        }


3、触发刷新的窗体中(frmUserList )中定义事件及触发事件:

 public event EventHandler UpdateDataGridView = null;//定义一个处理更新DataGridView控件内容的方法

       protected void UpdateData()
        {
            if (UpdateDataGridView != null)//当触发更新DataGridView事件时
            {
                UpdateDataGridView(this, EventArgs.Empty);         //此处执行至A处
            }
        }

      public void Add()    //子窗体中点击新增按钮时,触发事件
        {      
            UpdateData();
        }


     






  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值