在子类中如何取到主窗体类中的数据
有二个窗体。也就是二个窗体类 form1 form2FORM1是主窗体
C#里面没有指针。 如何在FORM2的窗体里取到主窗体中的比如TEXTBOX.text的数据
--------------------编程问答-------------------- form1.TextBox.Text --------------------编程问答-------------------- 可以通过属性传
from2.cs--------------------编程问答--------------------
public string text;
public string TextBoxText
{
get
{
return text;
}
set
{
text=value;
}
}
from1.cs
from2 f2 =new from2();
f2.TextBoxtText = Textbox1.Text
f2.show();
--------------------编程问答-------------------- from2.cs
//第一个窗体
private void btnExit_Click(object sender, EventArgs e)
{
//创建第二个窗体的对象,把自己传进出
Form1 fm = new Form1(this);
fm.ShowDialog();
}
//第二个窗体
public partial class Form1:Form
{
public Form1(MainForm main)
{
InitializeComponent();
this.main = main;
}
//创建第一个窗体的对象
private MainForm main;
private void Form1_Load(object sender, EventArgs e)
{
this.main打点调用
}
}
public string text;
public string TextBoxText
{
get
{
return text;
}
set
{
text=value;
}
}
from1.cs
from2 f2 =new from2();
f2.TextBoxtText = Textbox1.Text
f2.show();
只能获取一个对象,我那样可以获得第一个窗体所有的对象 --------------------编程问答-------------------- 你先得把你想在form2中访问的form1成员改成public
然后在form1中
form2.Ower = this;
form2.show();
在form2中
form1 frm = (form1)this.Owner;
用frm就可以访问form1中的public成员 --------------------编程问答-------------------- 在FORM1中:
//显示模式对话框
Form2 f1=new Form1();
f1.showdialog(this);
或
//显示非模式对话框:
Form1 f1=new Form1()
f1.Owner=this;
f1.show();
在FORM2中:
//引用上一窗体:
Form1 f1=(Form1)this.Owner;
textBox1.Text=f1.textBox1.Text --------------------编程问答-------------------- public string TextBoxText
换成 public from1 tempform
{}
不就可以了
--------------------编程问答-------------------- 给你两篇窗体通讯的文章 看看吧
http://blog.csdn.net/zhzuo/archive/2004/04/05/22027.aspx
http://blog.csdn.net/ChargeForward/archive/2008/10/04/3015858.aspx --------------------编程问答-------------------- 重写子类的构造函数.
public Form2(string __path)
{
InitializeComponent();
_path = __path;
this.label1.Text = "_path";
} --------------------编程问答-------------------- 对楼上所有的回答者提问:
我看到这里传控制权,大概有两种方法,一种是 在需要接受控制权的窗体构造函数中创建需要控制权的对象
然后在构造的时候传this
另外中方法我不太熟悉,也没看的太明白~~
所以能不能在这里解释下 这两种方法的特点 和它们之间的不同点嘛? --------------------编程问答-------------------- 谢谢这么多好心人。。
--------------------编程问答-------------------- 在请教一下。在设计模式下。什么叫低耦合? --------------------编程问答-------------------- 用委托吧 --------------------编程问答--------------------
给FORM2类定义几个 共有成员 就可以 传过去。
FORM 也是类啊。
补充:.NET技术 , C#