窗體傳值的幾種方法

2021-06-08 03:28:06 字數 1082 閱讀 8668

窗體傳值的幾種方法:

1.使用公共類

在專案中建一userhelper類,裡面都是靜態成員

class userhelper

public static int id;

public static string name;

各窗體可以把裡面的id,name當作全域性變數來用.

a窗體:

userhelper.id=10;

b窗體:

textbox1.text=userhelper.id.tostring();

2.窗體新增靜態屬性

給窗體新增乙個public static 的屬性,實際上和上面的方法是一樣的.

訪問方法如下:

form1.stuid=5;

3.使用建構函式傳遞乙個數值

class formb

int orgid;

public formb(int orgid)

this.orgid=orgid;

class forma

public void showb()

formb fb=new formb(5); // 5是要傳遞過去的值

fb.show();

4.把a窗體整個傳遞給b窗體

有些時候需要在b窗體裡對a窗體的某個控制項值做修改,並且需要立即改變a窗體的控制項顯示,本方法適合這種情況。

修改forma,把要在b裡處理的控制項的可訪問性(modifiers)設為public,然後按下面的方式處理

class forma

public void showb()

formb fb=new formb(this); // 在建構函式裡把a窗體本身傳過去

fb.show();

class formb

forma fm; //b窗體增加乙個forma型別的成員

public formb(forma fm)  //新增乙個帶引數的構造方法,引數型別是forma

this.fm=fm;

protected void method1()

fm.txtname.text="haha!"; //在這兒可以直接操作a窗體裡的控制項了!

WinForm窗體間如何傳值的幾種方法

窗體間傳遞資料,無論是父窗體操作子窗體,還是子窗體操作符窗體,有以下幾種方式 公共靜態變數 使用共有屬性 使用委託與事件 通過建構函式把主窗體傳遞到從窗體中 一 通過靜態變數 特點 傳值是雙向的,實現簡單 實現 如下 在窗體form1中這樣呼叫 new form2 show 顯示form2 在窗體f...

窗體之間傳值的暴力方法

窗體之間傳值可以使用觀察者模式,但是如果設定乙個static 靜態 變數,好像更簡單。對於小型程式感覺是可用的 在前乙個窗體上 public static string x 試驗窗體切換的 private void button2 click object sender,eventargs e ca...

WinForm窗體間傳值的方法

winform窗體間傳值的方法,包括了靜態變數 公共變數 共有屬性等方式。窗體間傳遞資料,無論是父窗體操作子窗體,還是子窗體操作父窗體,有以下幾種方式 1.公共靜態變數 2.使用共有屬性 3.使用委託與事件 4.通過建構函式把主窗體傳遞到從窗體中 一 通過靜態變數 public class 在窗體f...