网络上有几种方法,先总结如下:
调用窗体(父):Form1,被调用窗体(子):Form2
方法1:   所有权法
//Form1:
//需要有一个公共的刷新方法
public   void   Refresh_Method()
{
//...
}
//在调用Form2时,要把Form2的所有者设为Form1
Form2   f2   =   new   Form2()   ;
f2.Owner   =   this;
f2.ShowDialog()   ;
//Form2:
//在需要对其调用者(父)刷新时
Form1   f1   ;
f1   =   (Form1)this.Owner;
f1.Refresh_Method()   ;
方法2:自身传递法
//Form1:
//需要有一个公共的刷新方法
public   void   Refresh_Method()
{
//...
}
Form2   f2   =   new   Form2()   ;
f2.ShowDialog(this)   ;
//Form2:
private   Form1   p_f1;
public   Form2(Form1   f1)
{
InitializeComponent();
p_f1   =   f1;
}
//刷新时
p_f1.Refresh_Method()   ;
方法3:属性法
//Form1:
//需要有一个公共的刷新方法
public   void   Refresh_Method()
{
//...
}
//调用时
Form2   f2   =   new   Form2()   ;
f2.P_F1   =   this;
f2.Show()   ;

//Form2:
private   Form1   p_f1;
public   Form1   P_F1
{
get{return   p_f1;}
set{p_f1   =   value;}
}
//刷新时
p_f1.Refresh_Method()   ;
方法4:委托法
//Form1:
//需要有一个公共的刷新方法
public   void   Refresh_Method()
{
//...
}
//调用时
Form2   f2   =   new   Form2()   ;
f2.ShowUpdate   +=   new   DisplayUpdate(Refresh_Method)   ;
f2.Show()   ;
//Form2:

//声明一个委托
public   delegate   void   DisplayUpdate();
//声明事件
public   event   DisplayUpdate   ShowUpdate;
//刷新时,放在需要执行刷新的事件里
ShowUpdate();

相关文章:

  • 2021-05-25
  • 2021-12-15
  • 2021-07-26
  • 2021-10-10
猜你喜欢
  • 2022-12-23
  • 2022-02-23
  • 2021-09-23
  • 2021-09-22
  • 2021-09-05
  • 2021-10-03
  • 2021-06-02
相关资源
相似解决方案