以下示例程序实现:
(1)Form2从Form1获取一个字符串;
(2)Form2修改这个字符串后,再将修改后的字符串返回给Form1显示;
实现方法:
(1)在Visual Studio中创建一个“Windows 窗体应用程序”项目
(2)向项目中添加Form2
![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/574e9258d109b3de68657d17cabf6c81810a4cf3?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)
(3)在Form1上布置一个Label和一个Button
![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/8435e5dde71190efa37308a0c81b9d16fcfa60c1?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)
(4)在Form2上布置一个TextBox和一个Button
![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/6159252dd42a2834a99bb3745db5c9ea15cebf94?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)
(5)窗体代码Form1.cs
using System;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
label1.Text = "你好,世界!";
button1.Text = "显示Form2";
}
// 添加一个公共属性 StringValue
public string StringValue
{
get { return label1.Text; }
set { label1.Text = value; }
}
private void button1_Click(object sender, EventArgs e)
{
// 实例化Form2
// 实例化使用Form2重载的
构造函数,详见Form2.cs
Form2 f2 = new Form2(this);
f2.Show();
}
}
}
(5)窗体代码Form2.cs
using System;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form2 : Form
{
// 对Form1实例的引用
Form1 f1;
public Form2()
{
InitializeComponent();
}
// 重载构造函数
// 构造函数参数 f1:对Form1实例引用
public Form2(Form1 f1)
: this()
{
// 建立对Form1实例的引用
this.f1 = f1;
// 通过f1.StringValue属性获取Form1上label1显示的内容
textBox1.Text = f1.StringValue;
button1.Text = "关闭";
}
private void button1_Click(object sender, EventArgs e)
{
// 关闭前,利用f1.StringValue属性,将textBox1的内容
// 显示在Form1上的label1中
f1.StringValue = textBox1.Text;
this.Close();
}
}
}
(6)运行
点击Form1上“显示Form2”按钮后
![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/35a85edf8db1cb13afd9ba6cdb54564e92584b19?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)
在Form2中,修改textBox1内容
![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/c8ea15ce36d3d53916148ebc3c87e950352ab0a0?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)
点击Form2上“关闭”按钮后
![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/7a899e510fb30f246ffa6d7cce95d143ad4b0368?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)