1.主窗体
using System;
using System.Windows.Forms;public partial class MainForm : Form
{public MainForm(){InitializeComponent();}// 打开二级窗体private void btnOpenSecondaryForm_Click(object sender, EventArgs e){// 创建二级窗体并订阅事件SecondaryForm secondaryForm = new SecondaryForm();secondaryForm.DataPassed += SecondaryForm_DataPassed; // 订阅事件secondaryForm.ShowDialog();}// 处理从二级窗体传递过来的数据private void SecondaryForm_DataPassed(object sender, string data){// 显示数据MessageBox.Show("从二级窗体传回的数据: " + data);}
}
2.二级窗体
using System;
using System.Windows.Forms;public partial class SecondaryForm : Form
{// 定义一个事件用于将数据传递给主窗体public event EventHandler<string> DataPassed;public SecondaryForm(){InitializeComponent();}// 当点击确定按钮时触发private void btnOk_Click(object sender, EventArgs e){string inputData = txtInput.Text; // 获取用户输入DataPassed?.Invoke(this, inputData);// 触发事件this.Close(); // 关闭二级窗体}
}