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(); // 關閉二級窗體}
}