你可以在父窗口中声明一个静态的如下:public static string m;
然后在子窗口的closed事件中引用父窗口中的变量,注意格式:命名空间.类名.变量名
如Test.frmText.m = this.TextBox1.Text;
然后在父窗口中就可以使用啦,可以定义很多类型,

解决方案 »

  1.   

    我如何实时的通知父窗口呢,就是说在子窗口close的时候,可以让父窗口有所反应?
    必须用timer么/谢谢!
      

  2.   

    不用那样,在窗口的事件中有一个Form.MdiChildActivate事件,它其实是当子窗口激活或者关闭的时候都会触发的,所以你可以在那里面写事件,如果你不同的子窗口触发不同的事件,可以判断它子窗口的实例
      

  3.   

    我建议利用属性
    好一点
    可以这样
    主窗体加入代码如下
    private string pp=null;
    public string PP
    {
    get
    {
    return null;
    }
    set
    {
    }
    }
    子窗体代码如下
    private void Form2_Closed(object sender, System.EventArgs e)
    {
       ((Form1)(this.MdiParent)).PP=this.Text;
    }
      

  4.   

    你可以判断当前this.ActiveMdiChild 是否变化 
    不过 建议你用snof的方法
      

  5.   

    嗯,谢谢大家的建议。
    我也用了一个办法,就是重载了子窗口的构造函数,传入主窗口的句柄,在子窗口关闭的时候,调用主窗口内的处理函数。
    如下:
    主窗口内:
    deployForm=new DeployForm(this);
    子窗口构造函数:
    public DeployForm(MainForm formhandle)
    {
       this.formHandle=formhandle;
    }
    private void DeployForm_Closed(object sender, System.EventArgs e)
    {
       formHandle.SystemGenerate();
    }