2014-01-20 6 views
-7

У меня есть проект, который включает в себя две формы. Я должен передать данные textbox1 в form2 в переменную строку m, определенную в form1. Мой код написан ниже, но переменная строка 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 в Form2 - и в Form1 разоблачить свойства, которые вы хотите поделиться между ними.

0

Чтобы сохранить это просто я хотел бы попробовать этот пример:

Form2 класса

private string welcomeToStackOverflow; 

private void button1_Click(object sender, EventArgs e) 
{ 

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

} 

form1 Class

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" 
Смежные вопросы