123 个问题
在 C# WinForms 应用程序中,可以通过在 Form2 中定义一个事件,将数据传递回 Form1。下面是一个简单的示例,展示了如何实现这个功能:
- 创建一个新的 WinForms 项目,并添加两个表单(Form1 和 Form2)。
- 在 Form1 上添加一个按钮(button1)和一个 TextBox(textBox1)。
- 在 Form2 上添加一个按钮(button2)和一个 TextBox(textBox2)。
Form1:
using System;
using System.Windows.Forms;
namespace WinFormsApp
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2();
form2.DataTransferred += new EventHandler<DataTransferredEventArgs>(Form2_DataTransferred);
form2.Show();
}
private void Form2_DataTransferred(object sender, DataTransferredEventArgs e)
{
textBox1.Text = e.Data;
}
}
public class DataTransferredEventArgs : EventArgs
{
public string Data { get; set; }
public DataTransferredEventArgs(string data)
{
Data = data;
}
}
}
Form2:
using System;
using System.Windows.Forms;
namespace WinFormsApp
{
public partial class Form2 : Form
{
public event EventHandler<DataTransferredEventArgs> DataTransferred;
public Form2()
{
InitializeComponent();
}
private void button2_Click(object sender, EventArgs e)
{
string data = textBox2.Text;
OnDataTransferred(new DataTransferredEventArgs(data));
this.Close();
}
protected virtual void OnDataTransferred(DataTransferredEventArgs e)
{
if (DataTransferred != null)
DataTransferred(this, e);
}
}
}
如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。
注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。