日期:2014-05-20  浏览次数:20712 次

怎样通过代理在B类中直接执行A类中的一个方法
怎样通过代理在B类中直接执行A类中的一个方法

------解决方案--------------------
如何实现子窗口关闭父窗口也关闭
实现方法:

在子窗口中声明事件:

public event childclose closefather;

然后在它的关闭事件中触发本事件:

private void Form1_Closed(object sender, System.EventArgs e)
{
//用事件去关闭主窗口
closefather();
}


在父窗口中(登陆窗口中):


在窗口类之前,在共同的命名空间之后声明代理:

public delegate void childclose();

然后弹出子窗体的地方这样写:

Form1 ff=new Form1();
ff.closefather+=new childclose(this.closethis); //closethis()是父窗体中的一个方法
ff.Show();

定义方法:

public void closethis()
{
this.Close();
}

完!

------解决方案--------------------
参看
http://community.csdn.net/Expert/topic/5057/5057735.xml?temp=.2654993