C Winform窗體間傳值

2021-09-21 11:50:50 字數 1738 閱讀 6372

1.通過建構函式

特點:傳值是單向的(不可以互相傳值),實現簡單

實現**如下:

在窗體form2中

int value1;

string value2;

public form2 ( int value1 , string value2 )

在窗體form1中這樣呼叫

new form2 ( 111 , "222" ).show ( );  //這樣就把111,"222",這2個值傳送給了form2

2.通過靜態變數

特點:傳值是雙向的,實現簡單

實現**如下:

在窗體form1中這樣呼叫

new form2 ( ).show ( );  //顯示form2

在窗體form2中

3.通過窗體的公有屬性值

特點:實現簡單

實現**如下:

在窗體form2中定義乙個公有屬性form2value,獲取和設定textbox1的文字值

public string form2value

set}

在窗體form1中這樣呼叫

form2 f2 = new form2 ( );

f2.form2value = "ok";     //給form2的textbox1賦值ok

f2.showdialog (  );

4.通過窗體的公有屬性值和owner屬性

特點:實現簡單,靈活

實現**如下:

在窗體form1中

public int form1value = 1;

form2 f2 = new form2 ( );

f2.showdialog ( this );       //把form1作為form2的所有者傳遞給form2

在窗體form2中

//form2的所有者是form1

form1 f1 = ( form1 ) this.owner;

//取到form1的值是1

messagebox.show ( f1.form1value .tostring ( ) );

//給form1的form1value賦值222

f1.form1value = 222;

實現**如下:

在窗體form1中

public int form1value = 1;

form2 f2 = new form2 ( );

f2.show ( );

在窗體form2中

string formname = "form1";

if ( fr != null )

6.通過事件

實現**如下:

在窗體form2中定義公有屬性form2value,獲取和設定textbox1的文字值

並且還定義乙個accept事件

public string form2value

set}

public event eventhandler accept;

private void button1_click ( object sender , eventargs e )

}在窗體form1中

form2 f2 = new form2 ( );

f2.accept += new eventhandler ( f2_accept );

f2.show ( );

void f2_accept ( object sender , eventargs e )

(C )WinForm窗體間傳值

1.通過建構函式 特點 傳值是單向的 不可以互相傳值 實現簡單 實現 如下 在窗體form2中 int value1 string value2 public form2 int value1 string value2 在窗體form1中這樣呼叫 new form2 111 222 show 這樣...

(C )WinForm窗體間傳值

1.通過建構函式 特點 傳值是單向的 不可以互相傳值 實現簡單 實現 如下 在窗體form2中 int value1 string value2 public form2 int value1 string value2 在窗體form1中這樣呼叫 new form2 111 222 show 這樣...

C Winform窗體間傳值

看了很多的傳值方法 自己用的以下的方法 首先有資料顯示窗體a 和編輯使用者資訊窗體b 雙擊a窗體中的某一行 彈出b窗體 並顯示a窗體點選某行的資訊 第一步 在a窗體中寫以下 private static string strtxtname private static string strtxtpa...