C 子窗體呼叫父窗體的方法

2021-09-28 19:05:23 字數 1622 閱讀 8831

網路上有幾種方法,先總結如下:

呼叫窗體(父):formfather,被呼叫窗體(子):formsub

方法1: 所有權法

//formfather:

//需要有乙個公共的重新整理方法

public void refresh_method()

//在呼叫formsub時,要把formsub的所有者設為formfather

formsub f2 = new formsub() ;

f2.owner = this;

f2.showdialog() ;

//formsub:

//在需要對其呼叫者(父)重新整理時

formfather f1 ;

f1 = (formfather)this.owner;

f1.refresh_method() ;

方法2:自身傳遞法

//formfather:

//需要有乙個公共的重新整理方法

public void refresh_method()

formsub f2 = new formsub() ;

f2.showdialog(this) ;

//formsub:

private formfather p_f1;

public formsub(formfather f1)

//重新整理時

p_f1.refresh_method() ;

方法3:屬性法

//formfather:

//需要有乙個公共的重新整理方法

public void refresh_method()

//呼叫時

formsub f2 = new formsub() ;

f2.p_f1 = this; //重點,賦值到子窗體對應屬性

f2.show() ;

//formsub:

private formfather p_f1;

public formfather p_f1

set}

//重新整理時

p_f1.refresh_method() ;

方法4:委託法

//formfather:

//需要有乙個公共的重新整理方法

public void refresh_method()

//呼叫時

formsub f2 = new formsub() ;

f2.showupdate += new displayupdate(refresh_method) ;

f2.show() ;

//formsub:

//宣告乙個委託

public delegate void displayupdate();

//宣告事件

public event displayupdate showupdate;

//重新整理時,放在需要執行重新整理的事件裡

if(showupdate!=null)   showupdate();

//子窗體提交後

private void btnok_click(object sender, eventargs e)

//判斷子窗體

if(form.showdialog() == dialogresult.ok)

C 子窗體呼叫父窗體的方法

標籤 c object null網路 2012 05 08 13 13 5309人閱讀收藏 舉報 net技術 29 網路上有幾種方法,先總結如下 呼叫窗體 父 formfather,被呼叫窗體 子 formsub 方法1 所有權法 formfather 需要有乙個公共的重新整理方法 public v...

子窗體與父窗體呼叫對方js方法

有時候為了減少乙個頁面內的 量,會將部分內容放到子窗體中,如後台管理中用iframe來進行管理 dviframe src 1 在父窗體獲取子窗體的windows物件 var formwindow dviframe 0 contentwindow 0 是jq物件轉換成dom物件,再獲取子窗體windo...

C 子窗體重新整理父窗體

子窗體 from2 重新整理父窗體 from1 父窗體中有重新整理方法 refersh 1.所有權法 from1中 form2 f2 new form2 f2.owner this f2.show form2中 form1 f1 form1 this.owner f1.refersh 2.自身傳遞法...