C 窗體間傳值方法大彙總

2021-08-27 02:02:23 字數 2187 閱讀 3318

第一種方法:

建立乙個類,裡面宣告用於儲存接收的字段。傳的時候儲存於字段中,要用的時候,直接類名.欄位名 進行呼叫。(這種方法傳遞是雙向的)

第二種方法:

1.在form1裡定義

public

string name = "

*****

"

2. 在form2裡建立form1物件,

form1 f = new form1();

然後就可以通過f.name取值了

第三種方法:用建構函式

在窗體form2中

int

value1;

string

value2;

public form2 ( int value1 , string

value2 )

在窗體form1中這樣呼叫

new form2 ( 111 , "

222" ).show ( );

這樣就把111,"222",這2個值傳送給了form2  d

但是這樣的傳值是單向的

第四種方法:通過窗體的公有屬性值(特點:實現簡單)

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

public

string

form2value

set

}

在窗體form1中這樣呼叫

form2 f2 = new

form2 ( );

f2.form2value = "

ok"; //

給form2的textbox1賦值ok

f2.showdialog ( );

第五種方法:通過窗體的公有屬性值和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;

public

int form1value = 1

; form2 f2 = new

form2 ( );

f2.show ( );

在窗體form2中

string formname = "

form1";

if ( fr != null

)

第七種方法:通過事件

在窗體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 窗體間傳值方法大彙總

第一種方法 建立乙個類,裡面宣告用於儲存接收的字段。傳的時候儲存於字段中,要用的時候,直接類名.欄位名 進行呼叫。這種方法傳遞是雙向的 第二種方法 1.在form1裡定義 public string name 2.在form2裡建立form1物件,form1 f new form1 然後就可以通過f...

C 窗體間傳值方法大彙總

第一種方法 建立乙個類,裡面宣告用於儲存接收的字段。傳的時候儲存於字段中,要用的時候,直接類名.欄位名 進行呼叫。這種方法傳遞是雙向的 第二種方法 1.在form1裡定義 public string name 2.在form2裡建立form1物件,form1 f new form1 然後就可以通過f...

C 窗體間傳值方法大彙總

留著慢慢學習 第一種方法 建立乙個類,裡面宣告用於儲存接收的字段。傳的時候儲存於字段中,要用的時候,直接類名.欄位名 進行呼叫。這種方法傳遞是雙向的 第二種方法 1.在form1裡定義 public string name 2.在form2裡建立form1物件,form1 f new form1 然...