父子窗体 MDI父窗体如何调用子窗体里面的控件,以实现父窗体菜单复制,粘贴等对子窗体中的文本框进行操作的功能 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 支持楼上,将子窗体的控件 Modifiers 这个属性改为 public ,或者将整个子窗体类都改为public,方法很多,我最近看了,有事件传递,还有静态字段传递…还有就是上面说的改属性。 给个参考//写在父窗体里面的代码(子窗体有个关闭的代码就可以了) this.IsMdiContainer = true;//指示窗体为多文档界面 Form2 f2 = new Form2(); f2.MdiParent = this; f2.Show(); this.textBox1.Text = f2.textBox1.Text.Trim(); //要实现这个的调用, //要修改 Form2(子窗体) 中 textBox1 的 Modifiers 这个属性为 public // f2.textBox1.Text="关闭当前窗体,要传到福窗体上面的值"; 1主窗体的代码: namespace MyFirstApp { public partial class Frm_main : Form { public Frm_main() { InitializeComponent(); } public void DiaoYong(string str) { this.textBox1.Text = str; } private void button1_Click(object sender, EventArgs e) { string str = this.textBox1.Text; Frm_child f2 = new Frm_child(str);//在构造函数中,向子窗体传值。 f2.Owner = this; f2.Show(); } } } 2,子窗体的代码 namespace MyFirstApp { public partial class Frm_child : Form { public Frm_child(string ss) { InitializeComponent(); this.textBox1.Text = ss; } private void button1_Click(object sender, EventArgs e) { string st = textBox1.Text; Frm_main f1; f1 = (Frm_main)this.Owner; f1.DiaoYong(st); this.Close(); } } } public partial class Form1 : Form { public Form1() //父窗体 { InitializeComponent(); } Form2 f2;//声明一个窗体(子窗体) private void button1_Click(object sender, EventArgs e) { this.IsMdiContainer = true;//指示窗体为多文档界面 f2 = new Form2(); f2.MdiParent = this; //指示父窗体 f2.Show(); f2.Closing += new System.ComponentModel.CancelEventHandler(f2_Closing);//调用自己编写的关闭事件 } //编写一个值传递事件(窗体关闭时实行传递) private void f2_Closing(object sender, CancelEventArgs e) { this.textBox1.Text = f2.textBox1.Text.Trim();//把子窗体的值赋给父窗体 } } //和我上面的三楼基本一样的(这些方法可提供窗体与窗体之间实行传递) 子窗体调用时用:((主窗口)this.MdiParent).*** 什么是引用类型,什么是值类型 数据库连接错误,求教! 请问如何让自定义控件在工具箱隐藏或分组? xslt foreach 实现i++ DataGridView使用哪个方法或事件来更新与他绑定的DataTable c#.net怎么保存用户名和密码 dataSet中的字增量关联问题 请教pda 红外通讯编程的问题 关于C#进度条 关于水晶报表接收参数的问题!望兄弟们赐教!!!? 如何访问主form的控件对象 VS2005 与 SQLserver2005 公用的封装问题
this.IsMdiContainer = true;//指示窗体为多文档界面
Form2 f2 = new Form2();
f2.MdiParent = this;
f2.Show();
this.textBox1.Text = f2.textBox1.Text.Trim(); //要实现这个的调用,
//要修改 Form2(子窗体) 中 textBox1 的 Modifiers 这个属性为 public
// f2.textBox1.Text="关闭当前窗体,要传到福窗体上面的值";
{
public partial class Frm_main : Form
{
public Frm_main()
{
InitializeComponent();
} public void DiaoYong(string str)
{
this.textBox1.Text = str;
}
private void button1_Click(object sender, EventArgs e)
{
string str = this.textBox1.Text;
Frm_child f2 = new Frm_child(str);//在构造函数中,向子窗体传值。
f2.Owner = this;
f2.Show(); }
}
} 2,子窗体的代码 namespace MyFirstApp
{
public partial class Frm_child : Form
{
public Frm_child(string ss)
{
InitializeComponent();
this.textBox1.Text = ss;
} private void button1_Click(object sender, EventArgs e)
{
string st = textBox1.Text; Frm_main f1;
f1 = (Frm_main)this.Owner;
f1.DiaoYong(st);
this.Close(); }
}
}
public partial class Form1 : Form
{ public Form1() //父窗体
{
InitializeComponent(); } Form2 f2;//声明一个窗体(子窗体) private void button1_Click(object sender, EventArgs e)
{
this.IsMdiContainer = true;//指示窗体为多文档界面
f2 = new Form2();
f2.MdiParent = this; //指示父窗体
f2.Show(); f2.Closing += new System.ComponentModel.CancelEventHandler(f2_Closing);//调用自己编写的关闭事件
}
//编写一个值传递事件(窗体关闭时实行传递)
private void f2_Closing(object sender, CancelEventArgs e)
{
this.textBox1.Text = f2.textBox1.Text.Trim();//把子窗体的值赋给父窗体 }
}
//和我上面的三楼基本一样的(这些方法可提供窗体与窗体之间实行传递)