1 frmChild.ParentForm.publicMethods(params)2 或者把主窗体的 参考 传给子窗体
-----主窗体-----
public class frmMain:System.Windows.Forms.Form
{
private void button1_Click()
{
frmChild child = new frmChild(this);
child.Show();
}
private void MainMethod()
{
//dosomething here
}
}-----子窗体-----
public frmChild :System.Windows.Forms.Form
{
private frmMain m_frmM;
public frmChild(frmMain frmM)
{
this.m_frmM = frmM;
}
private void dosomething()
{
this.m_frmM.MainMethod(); //在这里调用了
}
}3 自己写一个delegate,指向要处理的方法
-----主窗体-----
public class frmMain:System.Windows.Forms.Form
{
private void button1_Click()
{
frmChild child = new frmChild();
child.MyEvent += new MyDelegate(MainMethod); //绑定要调用的方法
}
private void MainMethod() //*这里的参数,决定下面的参数
{
//do something here
}
}-----子窗体-----
public delegate void MyDelegate(); //*和上面的参数要一致
public class frmChild :System.Windows.Forms.Form
{
public event MyDelegate MyEvent;
private void dosomething()
{
if(MyEvent != null)
MyEvent(); //*和上面的参数要一致 //在这里调用了
}
}
-----主窗体-----
public class frmMain:System.Windows.Forms.Form
{
private void button1_Click()
{
frmChild child = new frmChild(this);
child.Show();
}
private void MainMethod()
{
//dosomething here
}
}-----子窗体-----
public frmChild :System.Windows.Forms.Form
{
private frmMain m_frmM;
public frmChild(frmMain frmM)
{
this.m_frmM = frmM;
}
private void dosomething()
{
this.m_frmM.MainMethod(); //在这里调用了
}
}3 自己写一个delegate,指向要处理的方法
-----主窗体-----
public class frmMain:System.Windows.Forms.Form
{
private void button1_Click()
{
frmChild child = new frmChild();
child.MyEvent += new MyDelegate(MainMethod); //绑定要调用的方法
}
private void MainMethod() //*这里的参数,决定下面的参数
{
//do something here
}
}-----子窗体-----
public delegate void MyDelegate(); //*和上面的参数要一致
public class frmChild :System.Windows.Forms.Form
{
public event MyDelegate MyEvent;
private void dosomething()
{
if(MyEvent != null)
MyEvent(); //*和上面的参数要一致 //在这里调用了
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货