C#实现窗体间传递数据实例
本文以实例详述了C#两个窗体之间传递数据的实现方法,具体的操作步骤如下:
1.建立两个窗体,并采用公用变量值传递:
publicpartialclassForm1:Form//父窗体 { publicstringname=""; publicForm1() { InitializeComponent(); } privatevoidnewBtn_Click(objectsender,EventArgse) { Form2form2=newForm2(); form2.ShowDialog(); if(form2.DialogResult==DialogResult.OK) { textBox1.Text=form2.name; form2.Close(); } } }
publicpartialclassForm2:Form//子窗体 { publicstringname { set{textBox1.Text=value;} get{returntextBox1.Text;} } publicForm2() { InitializeComponent(); } privatevoidOK_Click(objectsender,EventArgse) { if(textBox1.Text=="") { MessageBox.Show("input!"); return; } DialogResult=DialogResult.OK; Close(); } }
2.使用地址方式传递
publicpartialclassForm1:Form//parentform { publicstringname=""; publicForm1() { InitializeComponent(); } privatevoidnewBtn_Click(objectsender,EventArgse) { Form2form2=newForm2(); form2.Owner=this;//form2的指针指向form1 form2.ShowDialog(); textBox1.Text=form2.name; form2.Close(); } }
publicpartialclassForm2:Form//sonform { publicstringname { set{textBox1.Text=value;} get{returntextBox1.Text;} } publicForm2() { InitializeComponent(); } privatevoidOK_Click(objectsender,EventArgse) { if(textBox1.Text=="") { MessageBox.Show("input!"); return; } Form1form1=(Form1)this.Owner;//form2的父窗体指针赋给form1 Close(); } }