积极答复者
窗体间传值并刷新

问题
-
问题假设:
目前有三个窗体,母窗体和两个子窗体。
母窗体为A,两个子窗体分别为B、C。
现在要实现的功能是打开B子窗体,单击B子窗体上的一个指定TextBox控件,弹出C子窗体(必须在母窗体中),然后选择C子窗体中任意一条记录后,C子窗体自动关闭,同时将选择的记录值传递给B子窗体中的TextBox控件,并让B子窗体中的TextBox执行记录查找。由于我是新手,不懂如何实现。请各位有经验的兄弟姐妹不吝赐教。谢谢了。- 已移动 Sheng Jiang 蒋晟Moderator 2009年12月9日 19:33 Windows Forms (发件人:Visual C#)
答案
-
你好!
在子窗体中自定义一个构造函数,参数类型是主窗体,当要显示子窗体的时候,就用这个构造函数来实例化子窗体,然后把this指针传进去,说起来太抽象了,我大概一写大家应该就明白了:
public class frmMain:Form
{
...
frmControl controlForm=new frmControl(this);
controlForm.Show();
}
public class frmControl:Form //子窗体,用来控制主窗体的某些显示!
{
private frmMain mainForm=null;
public frmControl(frmMain mainForm)
{
this.mainForm=mainForm;
}
private void button1_Click(object sender,EventArgs e){
frmMain.textBox1.Text=this.textBox1.Text; //把子窗体的文本框值传递给主窗体的文本框!
}
}
周雪峰- 已标记为答案 YiChun Chen 2009年12月10日 10:19
-
全部回复
-
你好!
在子窗体中自定义一个构造函数,参数类型是主窗体,当要显示子窗体的时候,就用这个构造函数来实例化子窗体,然后把this指针传进去,说起来太抽象了,我大概一写大家应该就明白了:
public class frmMain:Form
{
...
frmControl controlForm=new frmControl(this);
controlForm.Show();
}
public class frmControl:Form //子窗体,用来控制主窗体的某些显示!
{
private frmMain mainForm=null;
public frmControl(frmMain mainForm)
{
this.mainForm=mainForm;
}
private void button1_Click(object sender,EventArgs e){
frmMain.textBox1.Text=this.textBox1.Text; //把子窗体的文本框值传递给主窗体的文本框!
}
}
周雪峰- 已标记为答案 YiChun Chen 2009年12月10日 10:19
-