(C )WinForm窗體間傳值

2021-07-11 08:09:19 字數 1790 閱讀 3441

**

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...