在 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中文网其他相关文章!