赞
踩
一个子窗体,一个父窗体,这里为了演示,子窗体和父窗体上都有一个文本框和按键,点击任意一个窗体上的按键,窗体上文本框的内容会同步到另外一个窗体的文本框上。
添加控件textbox和button,然后双击button,添加按键单击事件,子窗体类似。
最常见的方法就是子窗体中创建一个public方法,在父窗体中调用该方法将参数传递给子窗体
子窗体中声明一个txbPrint方法,将接收到的str显示在子窗体文本框内
public void txbPrint(string str)
{
txbInfo.Text = str;
}
父窗体
FormChild formChild = new FormChild();
private void FormMain_Load(object sender, EventArgs e)
{
formChild.Show();
}
private void btnSend_Click(object sender, EventArgs e)
{
formChild.txbPrint(txbInfo.Text);
}
在主窗体中添加一个静态字段,窗体加载时将this指针赋值给formMain,然后在子窗体中就可以通过静态字段formMain操作类中的public方法
//主窗体 public partial class FormMain : Form { public static FormMain formMain; public FormMain() { InitializeComponent(); } FormChild formChild = new FormChild(); private void FormMain_Load(object sender, EventArgs e) { formMain = this; formChild.Show(); } private void btnSend_Click(object sender, EventArgs e) { formChild.txbPrint(txbInfo.Text); } } //子窗体 public partial class FormChild : Form { public FormChild() { InitializeComponent(); } public void txbPrint(string str) { txbInfo.Text = str; } private void btnSend_Click(object sender, EventArgs e) { //通过静态字段传值 FormMain.formMain.txbPrint("txbInfo.Text"); } }
//主窗体 public partial class FormMain : Form { public FormMain() { InitializeComponent(); } FormChild formChild = new FormChild(); private void FormMain_Load(object sender, EventArgs e) { //给委托赋值 调用该委托即调用 txbPrint方法 formChild.sendLogDelegate = txbPrint; formChild.Show(); } private void btnSend_Click(object sender, EventArgs e) { formChild.txbPrint(txbInfo.Text); } public void txbPrint(string str) { txbInfo.Text = str; } } //创建一个委托类 这个委托类可以 生成参数是string类型 没有返回值的委托 public delegate void SendLogDelegate(string str); //子窗体 public partial class FormChild : Form { //实例化一个委托 public SendLogDelegate sendLogDelegate; public FormChild() { InitializeComponent(); } public void txbPrint(string str) { txbInfo.Text = str; } private void btnSend_Click(object sender, EventArgs e) { if(sendLogDelegate != null) { //调用委托 sendLogDelegate(txbInfo.Text); } } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。