C# WinForm 父窗體 子窗體 傳值
本次示例效果如下:
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();
}
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-548713/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- C# 如何重複呼叫父窗體中的子窗體C#
- 父窗體、子窗體關係設定
- jQuery子窗體如何取得父窗體的元素jQuery
- 窗體傳值 父子窗體傳值情況 c# 1231C#
- FineUI小技巧(5)向子視窗傳值,向父視窗傳值UI
- winform動態生成窗體並實現傳值返回ORM
- C# WinForm 繪製圓角窗體C#ORM
- c# winform窗體相關屬性C#ORM
- winform之在主窗體中不顯示子窗體的選單欄ORM
- 附例項!實現iframe父窗體與子窗體的通訊
- C#中實現窗體間傳值方法C#
- 快速清空C#WINFORM窗體控制元件值C#ORM控制元件
- WinForm登陸:窗體間的資料傳遞ORM
- 使用C#開啟新視窗關閉舊視窗的方法;winform中防止重複開啟多個相同子窗體C#ORM
- 解決WinForm(C#)中MDI子窗體最大化跑偏的問題ORMC#
- c# form窗體C#ORM
- jQuery在子視窗如何操作父視窗元素jQuery
- layer父介面呼叫子彈窗的方法和獲取子彈窗的元素值總結
- windows form (窗體) 之間傳值小結WindowsORM
- c#窗體form(winform)事件event呼叫事件的簡小示例C#ORM事件
- C#窗體--滑鼠事件C#事件
- c# mdi多窗體C#
- js如何在子視窗中關閉父視窗JS
- 父視窗和iframe中物件互相傳值簡介物件
- Qt入門(14)——父視窗部件和子視窗部件QT
- layui 子彈窗獲取父頁面的引數傳參UI
- C#--WinForm專案主窗體設計C#ORM
- javascript如何在彈出視窗給父視窗賦值JavaScript賦值
- 討論關閉子視窗,重新整理父視窗(非模式視窗)模式
- C#實現窗體全屏C#
- c# 窗體自適應C#
- c# winform窗體之開啟檔案對話方塊openfiledialogC#ORM
- c# form窗體modifiers屬性C#ORM
- jQuery iframe子視窗獲取父視窗元素簡單介紹jQuery
- aardio 背景透明的3種方式(透明窗體1 webview2,透明窗體2-win-region-bitmap,透明窗體3-winform-transparent-color)WebViewORM
- MFC操作父視窗的子控制元件控制元件
- Winform窗體圓角以及描邊完美解決方案ORM
- 關於父視窗獲取跨域iframe子視窗中的元素跨域