C#简单实现子窗体向父窗体传值的方法

 更新时间:2015年09月19日 17:03:37   作者:我心依旧  
这篇文章主要介绍了C#简单实现子窗体向父窗体传值的方法,以实例形式较为详细的分析了C#窗体间传值的实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了C#简单实现子窗体向父窗体传值的方法。分享给大家供大家参考。具体如下:

击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();
  }
}

点击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#程序设计有所帮助。

相关文章

  • C#制作鹰眼的详细全过程(带注释)实例代码

    C#制作鹰眼的详细全过程(带注释)实例代码

    C#制作鹰眼的详细全过程(带注释)实例代码,需要的朋友可以参考一下
    2013-03-03
  • Unity 如何批量修改FBX模型

    Unity 如何批量修改FBX模型

    这篇文章主要介绍了Unity 批量修改FBX模型的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • C# 定时器定时更新的简单实例

    C# 定时器定时更新的简单实例

    这篇文章主要介绍了C#中定时器定时更新的简单实例。需要的朋友可以过来参考下,希望对大家有所帮助
    2013-12-12
  • C#实现Redis的分布式锁

    C#实现Redis的分布式锁

    我们在开发很多业务场景会使用到锁,例如库存控制,抽奖等。分布式与单机情况下最大的不同在于其不是多线程而是多进程。本文就来介绍一下,感兴趣的可以了解一下
    2021-08-08
  • C#自定义DataGridViewColumn显示TreeView

    C#自定义DataGridViewColumn显示TreeView

    我们可以自定义DataGridView的DataGridViewColumn来实现自定义的列,下面介绍一下如何通过扩展DataGridViewColumn来实现一个TreeViewColumn
    2015-12-12
  • c#唯一值渲染实例代码

    c#唯一值渲染实例代码

    这篇文章主要介绍了c#唯一值渲染实例代码,有需要的朋友可以参考一下
    2013-12-12
  • 基于C#实现任意格式JSON文本的HTTP交互抽象类

    基于C#实现任意格式JSON文本的HTTP交互抽象类

    为了实现一个支持任意格式JSON交互的抽象类,并且在整个过程中不需要对JSON格式数据进行序列化和反序列化操作,可以使用C#中的HttpClient类来进行HTTP请求和响应,本文给大家介绍了基于C#实现任意格式JSON文本的HTTP交互抽象类,需要的朋友可以参考下
    2025-03-03
  • C#多线程之Thread类详解

    C#多线程之Thread类详解

    这篇文章主要为大家详细介绍了C#多线程之Thread类,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • Unity AssetBundle打包工具示例详解

    Unity AssetBundle打包工具示例详解

    这篇文章主要介绍了Unity AssetBundle打包工具,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-10-10
  • C#实现简易计算器

    C#实现简易计算器

    这篇文章主要为大家详细介绍了C#实现简易计算器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-01-01

最新评论