需求如下:
    系统从页面A打开一个模式窗体B,该模式窗体必须能够再打开一个模式窗体C,且能够动态变化DataGrid数据行数。现在希望关闭B的时候能够激活A中的某个函数或事件。    希望朋友们能够提供源码、资料等。恭祝新年快乐!

解决方案 »

  1.   

    if(DialogResult.OK==B.showdialog())
    {
    do something^^^^^^
    }
    这段代码在A里,想怎么样就怎么样
      

  2.   

    需求应该为:
        系统从页面A打开一个新窗体B,该窗体B能够再打开一个模式窗体C,且能够动态变化DataGrid数据行数。现在希望关闭B的时候能够激活A中的某个函数或事件。    希望朋友们能够提供源码、资料等。
      

  3.   

    这个刷新的问题,可以解决的。
    窗体A中,可以打开窗体B,窗体B中,又可以打开窗体C。
    刷新动作可以对上一级(父)窗体做,如果对上上级(祖父)窗体,我就没试过了。给你提供我的方法:(举例)
    窗体A:frmA
    窗体B:frmB(frmA的子窗体)
    frmA中要加一刷新方法,用以及时刷新Datagrid等:
    public void Refrech_Data(){}在frmA中打开frmB时:
    frmB b = new frmB();
    b.Owner = this;
    b.Show();//or ShowDialog();在frmB中,当操作完,及时对frmA中的Datagrid刷新时:
    frmA a = new frmA();
    a = (frmA)this.Owner;
    a.Refrech_Data();那么以上代码就实现了在子窗体中及时刷新父窗体的功能了。
    实现的原理是通过转换窗体所有权来实现的。
    你可以参考这个,做你的,基本差不多。
      

  4.   

    对于现在希望关闭B的时候能够激活A中的某个函数或事件:
    你在frmB的OnClosing事件中加上调用(如Refresh_Data)就可以了。
      

  5.   

    Cmd12.Attributes.Add("onClick", "document.forms[0].Textsurevalue.value=showModalDialog('" & fclsWebFrame.strFramePath & "WebFrame/WebFrame.aspx" & strUrl & "','','dialogWidth:1022px;dialogHeight:768px;dialogTop:0px;dialogLeft:0px;resizable:yes;scroll:no;status:no;help:no;edge:raised;unadorned:no');")