2014-01-20 89 views
-7

我有一個包含兩種形式的項目。我必須將textbox1中的數據form2傳遞給form1中定義的變量字符串m。我的代碼寫在下面,但變量字符串m是恆定的。兩種形式之間傳遞的數據

表2:

public partial class Form2 : Form 
{ 
    Form1 frm1; 
    public Form2() 
    { 
     InitializeComponent(); 
     frm1 = new Form1(); 
    } 

    private void button1_Click(object sender, EventArgs e) 
    { 
     frm1.ModifyTextBoxValue = textBox1.Text; 
     this.Close(); 
    } 

表1:

public partial class Form1 : Form 
{ 
    string m = "12"; 
    public Form1() 
    { 
     InitializeComponent(); 
    } 

    public string ModifyTextBoxValue 
    { 
     get { return textBox1.Text; } 
     set { m = value; } 
    } 
} 
+4

那麼問題是什麼? – andy

回答

0

你可以通過Form1的引用到窗體2 - 在Form1中揭露,你希望他們之間的共享性。

0

爲了保持這個簡單的我會嘗試這個例子:

窗體2類

private string welcomeToStackOverflow; 

private void button1_Click(object sender, EventArgs e) 
{ 

    textBox1.Text = welcomeToStackOverflow; 
    Form1 frm = new Form1(welcomeToStackOverflow); 

} 

Form1類

private string welcome; 
public Form1(string wel) 
{ 
    this.welcome = wel; 
    InitializeComponent(); 
} 
0

修改您form2代碼,並獲得form1參考(如Yanshof說):

public partial class Form2 : Form 
{ 
    Form1 frm1; 
    public Form2(Form refForm1) 
    { 
     InitializeComponent(); 
     //frm1 = new Form1(); //remove this line 
     frm1 = refForm1; //assign reference of "form1" to "frm1" 
    } 

    private void button1_Click(object sender, EventArgs e) 
    { 
     frm1.ModifyTextBoxValue = textBox1.Text; 
     this.Close(); 
    } 

現在您還需要傳遞參考。當您撥打form2時,請撥打電話:

Form2 frm2 = new Form2(this); //here "this" is the reference of "Form1"