4个窗体   FormMain   和  子窗体Form1 ,Form2 ,Form 3
现在FormMain  有个刷新按钮  button
Form1,Form2,Form3  分别有 datagridview1,datagridview2,datagridview3   控件
要求:  
当焦点在Form1上时   刷新 datagridview1
当焦点在Form2上时   刷新 datagridview2
当焦点在Form3上时   刷新 datagridview3
怎么实现?
  

解决方案 »

  1.   

    使用构造函数传参或者使用delegate都可以。
      

  2.   

    这问题问的费劲,
    当焦点在Form1上时 刷新 datagridview1
    当焦点在Form2上时 刷新 datagridview2
    当焦点在Form3上时 刷新 datagridview3你是想说点了FormMain上的button后吗?
      

  3.   

    Form窗体有个Enter事件,可在里面写刷新dgv的方法
      

  4.   

    是不是多文档窗口?如果不是的话,当你点击FormMain的按钮时,原先窗口的焦点已失去。
      

  5.   

    补充:
    点 FormMain 上的 Button  
    如果下面的子窗体是 Form1  就会刷新 DATAGRIEVIEW
      

  6.   

    误 解了,这么多窗体,只能一个获焦啊,当你点FormMain 的按扭时,formmain获焦啊,其他都不获焦了
      

  7.   


    当焦点在Form1上时 刷新 datagridview1:把加载datagridview1的代码写到方法里,假如方法名是Ini_data();再给Form1注册窗体的GotFocus事件.在事件里重新加载Form1上datagridview1的数据. 代码如下//构造函数中写
    this.Form1.GotFocus += new EventHandler(Form1_GotFocus);
    //注册事件
    void Form1_GotFocus(object sender, EventArgs e)
            {
                this.Ini_data();
            }
    这样焦点在放到textBox1上的时候就会触发Form1_GotFocus事件.完成刷新.  
      

  8.   

     this.ActiveMdiChild 获取当前MDI子窗口