winform在子窗體呼叫父窗體的控制項

2021-06-15 08:28:10 字數 845 閱讀 9348

一、如果是在兩個無關的窗體間要實現上述的訪問可以使用form的owenr屬性 

在form1中新增: 

form2   form2   =   new   form2(); 

this.addownedform(form2); 或ji.showdialog(this);向父窗體新增附屬窗體

在form2中新增: 

form1   form1   =   (form1)this.owner;     //直接將已經存在的form1與form1關聯起來 

之後就可以適時的訪問form1中的public變數了

二、如果是在mdi窗體間要實現上述的訪問可以使用form的parentform屬性 

在form1中新增: 

form2   form2   =   new   form2(); 

form2.mdiparent   =   this; 

在form2中新增: 

form1   form1   =   (form1)this.parentform;     //直接將已經存在的form1(mdi主視窗)與form1關聯起來

之後就可以適時的訪問form1中的public變數了

或者//父窗體中

form child=new form(this)   //this是指父窗體

child.show();

//子窗體中

form parent;

public child(form parent)

//子窗體事件中

parent.屬性呼叫就可以了,其實對於父窗體上的控制項,可以通父窗體.controls訪問到要修改的子控制項而不用刻意去把那個控制項設定成public。

winform 父窗體與子窗體之間傳參

一.使用靜態類該方式可以簡單的理解為靜態變數全域性共享 多個引數可以採用這種方式 二 1 父窗體中宣告乙個靜態的父窗體型別的臨時物件 父窗體和子窗體之間傳參 public static mainmdi mainmdi 2 父窗體建構函式中對該變數賦值 public mainmdi 3 把要傳遞的引數...

WinForm子窗體訪問父窗體控制項的實現方法

form1www.cppcns.com主窗體 複製 如下 public delegate void setvisiablehand程式設計客棧ler 定義委託型別 private void button1 click object sender,eventargs e 單擊事件,開啟子窗體 priv...

winform 重新整理父窗體

網路上有幾種方法,先總結如下 呼叫窗體 父 form1,被呼叫窗體 子 form2 方法1 所有權法 form1 需要有乙個公共的重新整理方法 public void refresh method 在呼叫form2時,要把form2的所有者設為form1 form2 f2 new form2 f2....