Winform 重新整理父窗體的值
調用窗體(父):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();
子窗體:
ShouRu.FrmSrCategoryAdd frmAddCategory = new FrmSrCategoryAdd();
frmAddCategory.Owner = this;
frmAddCategory .ShowDialog ();
父窗體:
ShouRu.FrmSrCategoryAdd frmAddCategory = new FrmSrCategoryAdd();
frmAddCategory.Owner = this;
frmAddCategory .ShowDialog ();
posted on 2013-01-21 11:45 泰山腳下 閱讀( ...) 評論( ...) 編輯 收藏
轉載于:https://www.cnblogs.com/godxiangyu/archive/2013/01/21/2869493.html