程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C# WinForm 父窗體 子窗體 傳值

C# WinForm 父窗體 子窗體 傳值

編輯:C#入門知識

本次示例效果如下: 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();         }www.2cto.com     }       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();         }     }

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved