有两个窗体,分别为窗体 1 和窗体 2。在窗体 1 中单击打开窗体 2, 打开窗体 2,并把窗体 1 中文本框的值赋给窗体 2 中的文本框中。在窗体 2 中单击关闭窗体 2,把窗体 2 中的文本框的值赋给窗体 1 的文本框中,然后关闭窗体 2.要求用委托实现使用C#
时间: 2024-05-08 15:22:01 浏览: 45
c# 用委托事件实现两窗体传值
5星 · 资源好评率100%
以下是用委托实现的C#代码:
在窗体1中:
```csharp
public delegate void PassValue(string value);
private void OpenForm2Button_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2();
PassValue passValue = new PassValue(form2.SetValue);
passValue(TextBox1.Text);
form2.ShowDialog();
}
public void SetValue(string value)
{
TextBox1.Text = value;
}
```
在窗体2中:
```csharp
public delegate void PassValue(string value);
private void CloseForm2Button_Click(object sender, EventArgs e)
{
PassValue passValue = new PassValue(Form1.SetValue);
passValue(TextBox2.Text);
this.Close();
}
```
在这里,我们定义了一个委托 PassValue,用于传输窗体1中的文本框值到窗体2中的文本框。在窗体1的OpenForm2Button_Click事件处理程序中,我们创建了一个Form2的实例,并使用委托将窗体1中的文本框值传递给窗体2中的文本框。在窗体2的CloseForm2Button_Click事件处理程序中,我们使用委托将窗体2中的文本框值传递给窗体1中的文本框,并关闭窗体2。
阅读全文