c#两个窗体间变量的引用。
比方说定义一个变量在form1里,通过textbox1.text输入。
怎么才能在form2里定义一个变量,是的form2里的变量等于form1里的?然后在 form2的文本框里输出。
大侠教教我啊。在网上都没找到合适的答案。
比方说定义一个变量在form1里,通过textbox1.text输入。
怎么才能在form2里定义一个变量,是的form2里的变量等于form1里的?然后在 form2的文本框里输出。
大侠教教我啊。在网上都没找到合适的答案。
调试欢乐多
Form2 fm2=new Form2();
fm2.show();然后在Form2的Form2_Load()事件下 写上代码:
textbox2.text=Form1.str;
就可以显示了
拖一个TextBox控件,变量名 txtFrm1;
然后 编写如下代码:
Form fr = Application.OpenForms["Form2"];
if(fr!=null)
{
Form2 frm2 = (Form2)fr;
frm2.SetValue = this.txtFrm1.Text;
}
2.Form2中
拖一个TextBox控件,变量名 txtFrm2;
编写如下方法:
public string SetValue
{
this.txtFrm2.Text = value;
}
显示了这个 好像不对啊;
通过公共静态类进行传值;
使用Attribute
public partial class Form1 : Form
{
private void button1_Click(object sender, EventArgs e)
{
Form2 frm2 = new Form2();
frm2.Show(this);
}
} public partial class Form2 : Form
{
private void button1_Click(object sender, EventArgs e)
{
Form1 frm1 = (Form1)this.Owner;
((TextBox)frm1.Controls["textBox1"]).Text = this.textBox2.Text;
this.Close();
}
}
frm2.Show(this.textBox1.text);
public Form2(string a)
{
Initialize();
this.textBox.text=a;
}
public class Form2
{
public Form2(string str)
{
TextBox2.Text = str;
}
}
初始化时传入要显示的字符串就行了