c# winform 父窗口与子窗口控件操作

我父窗口为Ruku,子窗口是Ruku_SJ。
子窗口是父窗口用ShowDialog()打开。
子窗口上有3个Textbox 控件。

现在我想从父窗口取到子窗口3个Textbox的值。
不知道怎么获取。
有人说用AppDomain传值。
这个才是最简单的处理方式,搞的和SESSION差不多了.
FORM1:
AppDomain.CurrentDomain.SetData( "XXX ", XXXX);

FROM2:
AppDomain.CurrentDomain.GetData( "XXX ");

但具体怎么弄·我还是不明白。SetData和GetData?

第1个回答  推荐于2016-08-10
在Program.cs里面添加这个类。
class WinZhi
{
public static txt1;
public static txt2;
public static txt3;
}

在父窗体的ShowDialog()那个按钮方法下写这个。
Botton_Click()
{
WinZhi.txt1=TextBox1.Text;
WinZhi.txt2=TextBox2.Text;
WinZhi.txt3=TextBox3.Text;
Ruku_SJ.ShowDialog();
}

在子窗体的From_Load()下写这个
From_Load()
{
TextBox1.Text=WinZhi.txt1;
TextBox2.Text=WinZhi.txt2;
TextBox3.Text=WinZhi.txt3;

}

这样就可以了!!!这个方法不是叫什么值传递,只是对类的一种运用!本回答被提问者采纳
第2个回答  2010-05-16
在子窗体的构造函数里面写几个参数,
然后用参数传过去就行了

//接受值的窗体
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
string _str1;
string _str2;
string _str3;
public Form2(string str1,string str2,string str3)
{
InitializeComponent();
_str1 = str1;
_str2 = str2;
_str3 = str3;
}

private void Form2_Load(object sender, EventArgs e)
{
textBox1.Text = _str1;
textBox2.Text = _str2;
textBox3.Text = _str3;
}

//调用的方法
private void button1_Click(object sender, EventArgs e)
{
Form2 f = new Form2(textBox1.Text, textBox2.Text, textBox3.Text);
f.ShowDialog();

}
第3个回答  2012-06-21
建一个类,namesapce father class my_在里面写上静态数据static string x;然后写个公有成员 public string getx(){return x;}然后在子窗口里面using father 新建一个my_对象 my_ newmy();然后textbox1.text=newmy.getx()就是利用类的特性和静态数据的有点!
第4个回答  2010-05-15
第5个回答  2010-05-17
嗯,可以通过事件把值传递给父窗体,如果您知道事件怎么用,就很容易实现了!
相似回答