C#中一个窗体调用另外一个窗体的控件问题,一个窗体上有一个textbox1,另一个窗体有一个textbox2与BUTTON

来源:百度知道 编辑:UC知道 时间:2024/06/08 09:05:29
在form1中的textbox1.text=300且这个控件的声明已经改成了public
在form2中的button_clikc()函数中写了
form1 frm=new form1();
textbox2.text=textbox.text;
为什么点击button后textbox2中没有显示300,当在textbox2中输入值后再点击button后,textbox2中刚输入的值反而被清空了。真的不是很理解,请高手指点,

应该这么写:
Form1:
String _textbox_text;
public String Textbox_text
{
get { return _textbox_text; }
set { _textbox_text = this.textbox1.text; }
}
Form2:
form1 f1=new form();
this.textbox2.Text=f1.Textbox_text;
在Form2中访问Form1中的公共属性,这样就可以了,易懂

开始对这个问题都是很模糊的,并且你的代码不对吧?
form1 frm=new form1();
textbox2.text=frm.textbox1.text;

如果想要这个值,就要在form1中加入一个public的字段(成员),然后
form1 frm=new form1();
textbox2.text=frm.成员;

Good Luck!!!
希望我没记错:)

lishunjielove的方法是正解

lishunjielove 的方法是应用程序先创建Form2,再由Form2 new出一个Form1时的方法.

一般情况是Form1先生成,就不能这样用了.应该在Form1 new Form2时这样写:
Form2 form2 = new Form2(this);//这样就把form1当参数传进了Form2的构造函数.
Form2的构造方法写成Form2(Form1 frm1);

取Form1的textbox1的text时这样写:
frm1.textbox.text

构造函数重载,