C# WinForm 父窗体 子窗体 传值
来源:互联网 发布:大数据全洞察 编辑:程序博客网 时间:2024/05/17 00:51
以下版权归作者所有:详细http://www.cnblogs.com/freeliver54/archive/2009/02/11/1388173.html
======================================================================================
本次示例效果如下:
Form1为父窗体(包含textBox1、button1)
Form2为子窗体(包含textBox2、button2)
父窗体给子窗体传值
==================
1.点击Form1的button1 打开Form2
父窗体给子窗体传值 可以调用重载子窗体的构造函数 直接传入相关数值
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 frm2 = new Form2(this.textBox1.Text);
frm2.Show();
}
}
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
public Form2(string strTextBox1Text)
{
InitializeComponent();
this.textBox2.Text = strTextBox1Text;
}
}
2.点击Form1的button1 打开Form2
并调用子窗体Form2的公开属性或方法 将Form1的textBox1的值设置给Form2的textBox2
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 frm2 = new Form2();
frm2.TextBox2Text = this.textBox1.Text;
frm2.Show();
}
}
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
public string TextBox2Text
{
set { this.textBox2.Text = value; }
get { return this.textBox2.Text; }
}
}
3.点击Form1的button1 打开Form2
在Form2_Load调用父窗体Form1的公开属性或方法 将Form1的textBox1的值设置给Form2的textBox2
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public string TextBox1Text
{
set { this.textBox1.Text = value; }
get { return this.textBox1.Text; }
}
private void button1_Click(object sender, EventArgs e)
{
Form2 frm2 = new Form2();
frm2.Show(this);//或 frm2.ShowDialog(this);
////或者
//Form2 frm2 = new Form2();
//frm2.Owner = this;
//frm2.Show();//或 frm2.ShowDialog();
}
}
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void Form2_Load(object sender, EventArgs e)
{
Form1 frm1 = (Form1)this.Owner;
this.textBox2.Text = frm1.TextBox1Text;
}
}
子窗体给父窗体传值
==================
4.点击Form1的button1 打开Form2
再点击Form2的button2
在button2_Click事件中 通过this.Owner将Form2的textBox2的值设置给Form1的textBox1
并关闭Form2
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 frm2 = new Form2();
frm2.Show(this);//或 frm2.ShowDialog(this);
////或者
//Form2 frm2 = new Form2();
//frm2.Owner = this;
//frm2.Show();//或 frm2.ShowDialog();
}
}
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void button2_Click(object sender, EventArgs e)
{
Form1 frm1 = (Form1)this.Owner;
//注意 如果textBox1是放在panel1中的 则先找panel1 再找textBox1
((TextBox)frm1.Controls["textBox1"]).Text = this.textBox2.Text;
this.Close();
}
}
5.点击Form1的button1 打开Form2
再点击Form2的button2
在button2_Click事件中 通过this.Owner及调用父窗体Form1的公开属性或方法
将Form2的textBox2的值设置给Form1的textBox1
并关闭Form2
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public string TextBox1Text
{
set { this.textBox1.Text = value; }
get { return this.textBox1.Text; }
}
private void button1_Click(object sender, EventArgs e)
{
Form2 frm2 = new Form2();
frm2.Show(this);//或 frm2.ShowDialog(this);
////或者
//Form2 frm2 = new Form2();
//frm2.Owner = this;
//frm2.Show();//或 frm2.ShowDialog();
}
}
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void button2_Click(object sender, EventArgs e)
{
Form1 frm1 = (Form1)this.Owner;
frm1.TextBox1Text = this.textBox2.Text;
this.Close();
}
}
- C# WinForm 父窗体 子窗体 传值
- C# WinForm 父窗体 子窗体 传值
- C# WinForm 父窗体 子窗体 传值
- C# WinForm 父窗体 子窗体 传值
- C# WinForm 父窗体 子窗体 传值
- C# WinForm 父窗体 子窗体 传值
- C# WinForm 父窗体 子窗体 传值
- C# WinForm 父窗体 子窗体 传值
- C# WinForm 父窗体 子窗体 传值
- C# WinForm 父窗体 子窗体 传值
- C# WinForm 父窗体 子窗体 传值
- C# WinForm 父窗体 子窗体 传值
- C# WinForm 父窗体 子窗体 传值
- C# WinForm 父窗体 子窗体 传值
- C# winform 用子窗体刷新父窗体,子窗体改变父窗体控件的值
- c# winform 子父窗体交互信息
- Winform子窗体刷新父窗体
- Winform子窗体刷新父窗体
- VS2008制作ActiveX,并打包为CAB(2)
- Android 的Margin和Padding属性以及支持的长度单位
- 异常处理,保证代码稳定的必经之步----小话c语言(12)
- java 泛型使用和不定参数函数定义
- Android Handler Message多线程实例
- C# WinForm 父窗体 子窗体 传值
- 【C趣味100题】【Code_00】【开篇言】
- 从生活角度学习c++
- 收藏 不显示删除回复显示所有回复显示星级回复显示得分回复 dev 控件中 gridControl1 控件的button列 事件中如何获取所在行的某列的值
- FreeBSD 10 将使用 Clang 编译器替换 GCC
- 隐藏控件
- oracle下字段拆分,字段合并的一种方式
- SQL语句中CONVERT的使用方法
- 开源和闭源的故事