在Windows 窗體中的窗體之間傳遞變數
在Windows 窗體應用程式中,可以使用委託和事件來實現在窗體之間傳遞資料。當一種表單(「子」表單)需要從「父」表單存取變數時,就會出現問題。
要解決此問題,請考慮利用委託將資料從父表單傳送到子表單。在父窗體中,為其定義委託和事件處理程序。當點選開啟子窗體的按鈕時,建立一個攜帶變數值的事件參數物件並引發事件。
在子窗體中,在建構函式中訂閱事件。當事件發生時,從事件參數物件中檢索變數值。修改子窗體的控制項或屬性以動態顯示可變文字。
以下是 C# 範例程式碼:
// Parent Form public partial class MainForm : Form { public delegate void PageInfoHandler(object sender, PageInfoEventArgs e); public event PageInfoHandler PageInfoRetrieved; private void toolStripBtnSettings_Click(object sender, EventArgs e) { PageInfoEventArgs args = new PageInfoEventArgs(SomeString); OnPageInfoRetrieved(args); SettingsForm settingsForm = new SettingsForm(); settingsForm.ShowDialog(); } private void OnPageInfoRetrieved(PageInfoEventArgs args) { if (PageInfoRetrieved != null) PageInfoRetrieved(this, args); } } // Child Form public partial class SettingsForm : Form { private string m_Data; // Variable to store the passed value public SettingsForm() { InitializeComponent(); Subscribe to PageInfoRetrieved event } private void OnPageInfoRetrieved(object sender, PageInfoEventArgs e) { m_Data = e.Value; // Update controls or properties in this form } public string Data => m_Data; // Expose the variable as a property }
以上是如何在 Windows 窗體應用程式中的窗體之間傳遞變數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!