例如form1窗体中textbox1输入的值 如何在form2的窗体代码中使用?我目前的用法1.设置TEXTBOX1的修改属性为public
2在 form2的公用代码区域定义 form1 ob_fom1 = new form1
应用ob_fom1.textbox1.text值的方式来去TEXTBOX1的值 结果去到的值为空!!
3.我在textbox1的text属性设置为为某个值时, 上面的方法能实现取值, 但是调试程序时输入的值 为什么不能取呢?
请高人解答 谢谢!
2在 form2的公用代码区域定义 form1 ob_fom1 = new form1
应用ob_fom1.textbox1.text值的方式来去TEXTBOX1的值 结果去到的值为空!!
3.我在textbox1的text属性设置为为某个值时, 上面的方法能实现取值, 但是调试程序时输入的值 为什么不能取呢?
请高人解答 谢谢!
在 form2的公用代码区域定义 form1 ob_fom1 = new form1
应用ob_fom1.textbox1.text值的方式来去TEXTBOX1的值 结果去到的值为空!!
=====================================根据你的描述,我只能认为你每次都重新new了一个form,所以每次都新的控件
我是否需要在 每个窗体的公用代码区域 form1 中 new form2 form3
form2中 new form1 form3
form3 中 new form1 form2
所以你new From1的时候其实调用了这个赋值的代码,所以可以取到值。而运行时,你在修改Form1的TEXTBOX1的值的时候,是修改的form1当前实例对象中的值。
而你在form2种,重新new出来的form1当然不会随着更改了。因为你new的对象和当前运行中的对象是2个不同的对象。Form1中:
Form2 f2 = new Form2();
f2.Owner = this;
f2.Show();Form2中:
Form1 f1 = this.Owner as Form1;
string str = f1.textBox1.Text;需要把Form1中textbox1的Modifiers设置为公开。
f.txt=textbox1.Text;
f.show();form2中
public string txt{get;set;}
在form2中使用txt就可以了,,