我有三个form,form1.form2.form3,在form1上放一个button1,点击弹出form2,在form2上放一个button2点击弹出form3,在form3上放一个textbox,请问如何在form1的程序中访问到form3的texrbox.text
解决方案 »
- 求C#解析oracle各种select语句解决方案
- 求好心人帮帮忙,我是一个新人,给位大哥大姐帮帮忙啊,急急急
- 基类的构造函数的意义
- b/s结构,如何导入excel里的数据
- 关于发射的概念及应用范围!
- c#中打开一个网页 怎么让页面在窗体中输出
- 紧急求助:关于TreeView中鼠标问题
- cannot start debugging.unable to find microsoft internet explorer.
- 在dataset中table通过主键字段取得某一行后,如何取得该行的Position值?实在没分了,帮帮忙
- c#的属性问题
- 求救!!C# 映射问题
- 帮忙看下代码……标题要长要长……
同样的,在Form2设置一个属性,当点击按钮创建Form3的时候,把Form2设置给该属性。
这样Form1,就可以通过属性访问到Form3,把TextBox在Form3中设置为Public,就可以访问到了。
我发现的问题是
在button1中的事件{form2 f2 = new form2(); f2.show();}
在button1中的事件{form3 f3 = new form3(); f3.show();}
那么在form1的程序中我怎么样,才能访问到f2,f3,呢
TextBoxValue
那么在Form3的代码里面加上this.TextBoxValue=this.TextBox.Text//把TextBox的内容赋值给TextBoxValue属性
然后
在Form1里面访问f3.TextBoxValue就好了
是Public的就可以在同一个命名空间地下访问了啊
就是SHOWDIALOG
那样直接用public就可以了 也比较安全
缺点是form3打开时不能操作FORM1
另一种比较方便的方法是做一个BASEFORM:FORM FORM1 FORM2 FORM3都继承这个FORM
然后BASEFORM里设一个STATIC PUBLIC
但老实说 有那么点不安全
其他方法很复杂 而且BUG很多
public static string F3TextBoxString
{
get
{
return _F3TextBoxString;
}
set
{
_F3TextBoxString = value;
}
}
然后在F3的相关事件中令F1.F3TextBoxString=this.textbox.text
【如果我的回答对你有所帮助,请到下列地址http://download.csdn.net/source/2247484 下载原创家庭记账软件,并给出宝贵意见!】
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();
}
}