2014-11-04 131 views
-3

我有一個帶按鈕的表單,當點擊按鈕時,[public int m = 0]更改爲1.我有另一個表單[form2],當我從form1獲得一個新類以獲得m值時,它通過0,我不知道爲什麼。在c#中的兩個表單之間傳遞數據

public partial class Form1 : Form 
{ 
    public int m =0; 

    private void button1_Click(object sender, EventArgs e) 
    { 

     m = 1; 

    } 

} 

public partial class Form2 : Form 
{ 

Form2 form2_new = new Form2(); 

// methods to get m ---------> it should be 1 but I get 0!!!! 

} 
+0

有豐富的Q&A對這個話題了。這篇文章肯定是至少一個,如果不是很多,在這裏重複:http://stackoverflow.com/search?q=%5Bc%23%5D+pass+data+between+two+forms – 2014-11-04 04:24:35

+0

谷歌是你最好的朋友。幾乎所有的答案都是同一個問題。 – deathismyfriend 2014-11-04 04:24:37

+0

可能重複[如何使一個變量,將在多個窗體上工作?](http://stackoverflow.com/questions/24337534/how-to-make-a-variable-that-will-work-on-multiple -形式) – Shadow 2014-11-04 04:30:11

回答

1

內部窗體2使一個新的構造:

public int m; 
public Form2(int m) 
{ 
    InitializeComponent(); 

    this.m = m; 
} 

然後從Form1中調用Form2的並傳遞價值:

private void button1_Click(object sender, EventArgs e) 
{ 
    m = 1; 

    Form2 frm2 = new Form2(m); 
    frm2.Show(); 
}