Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Melepasi Pembolehubah Antara Borang dalam Aplikasi Borang Windows?
Melalui Pembolehubah Antara Borang dalam Borang Windows
Dalam aplikasi Windows Forms, menghantar data antara borang boleh dicapai menggunakan perwakilan dan acara. Masalah timbul apabila satu borang, borang "anak", memerlukan akses kepada pembolehubah daripada borang "ibu bapa".
Untuk menyelesaikannya, pertimbangkan untuk menggunakan perwakilan untuk menghantar data daripada borang induk kepada borang anak. Dalam borang induk, tentukan perwakilan dan pengendali acara untuknya. Apabila butang untuk membuka borang anak diklik, cipta objek hujah peristiwa yang membawa nilai pembolehubah dan naikkan acara.
Dalam borang anak, langgan acara dalam pembina. Apabila peristiwa berlaku, dapatkan semula nilai pembolehubah daripada objek argumen acara. Ubah suai kawalan atau sifat borang anak untuk memaparkan teks pembolehubah secara dinamik.
Berikut ialah contoh kod dalam 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 }
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melepasi Pembolehubah Antara Borang dalam Aplikasi Borang Windows?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!