日期:2014-05-18  浏览次数:20879 次

如何调用另一窗体的textbox的值
我有两个窗体:form1,form2;form1中有textbox1和textbox2,form2中有textbox。
我想在form2的textbox显示form1中textbox1和textbox2的相乘的结果。
我初步想的是在form2中编写代码:
float a,b;
a = Convert.ToSingle(textbox1.Text);
b = Convert.ToSingle(textbox2.Text);
textbox.Text = Convert.ToString(jqylz * pqylz);
但是提示:上下文中不存在textbox1,textbox2。
我知道在一个窗体中这样可以实现,因为设计需要,所以我在这里把问题简单化,由于偶是菜鸟,望各位高手不吝赐教,小弟在此拜谢!

------解决方案--------------------
将结果作为参数传给form2
或者form1提供2个值的属性,也可以把textbox1、textbox2设为public
------解决方案--------------------
1、开放form2的textbox的访问级别,在form1中实例化form2

2、form2定义个属性,在属性的set访问器里写textbox.text=value;

3、用委托。。
------解决方案--------------------
最常用的方法是属性
------解决方案--------------------
给加个属性吧,
------解决方案--------------------
Form1 frm1 = new Form1();
a = Convert.ToSingle(frm1.Controls["textbox1"].Text);
------解决方案--------------------
方法有很多,最简单的方法就是
form2的textbox设为public 
然后再窗体一写
C# code

form2 frm=new form2()
frm.textbox.text=Convert.ToString(jqylz * pqylz);
frm.show()或frm.diglogshow()

------解决方案--------------------
http://topic.csdn.net/u/20110403/22/30d278bb-93ec-4125-8524-89debe7c0f9f.html?88280

楼主:看看上面这个贴子里,关于窗体间传值的问题。

在C#版已出过很多次了。有时间详细看看贴子里的相关贴子。