C 窗體間傳值方法大彙總

2021-06-07 20:45:22 字數 1877 閱讀 3654

第一種方法:

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

第二種方法:

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; 

實現**如下: 

在窗體form1中

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