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