欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-11-14 19:20:52
本文实例讲述了c#简单实现子窗体向父窗体传值的方法。分享给大家供大家参考。具体如下: 击form1的button1 打开form2 再点击form2的button2...

本文实例讲述了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#程序设计有所帮助。