Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Meluluskan Pembolehubah Antara Borang Windows Menggunakan Perwakilan dan Acara atau Pembina?
Melalui Pembolehubah antara Borang Borang Windows menggunakan Perwakilan dan Acara
Dalam senario ini, di mana anda mempunyai borang utama dan anak "tetapan" bentuk, pendekatan biasa untuk menghantar pembolehubah kepada bentuk kanak-kanak adalah melalui penggunaan perwakilan dan acara.
Langkah 1: Mulakan Perwakilan dan Acara
Dalam borang utama anda, buat perwakilan dan acara untuk mengendalikan pemindahan data:
public partial class MainForm : Form { /// <summary> /// Delegate to send data between forms /// </summary> public delegate void PageInfoHandler(object sender, PageInfoEventArgs e); /// <summary> /// Event of the delegate /// </summary> public event PageInfoHandler PageInfoRetrieved; }
Langkah 2: Lulus Pembolehubah dalam Acara Pengendali
Apabila anda mengklik butang "Tetapan" pada borang utama, buat contoh hujah acara dengan pembolehubah yang anda mahu luluskan dan tingkatkan acara:
private void toolStripBtnSettings_Click(object sender, EventArgs e) { PageInfoEventArgs args = new PageInfoEventArgs(SomeString); this.OnPageInfoRetrieved(args); SettingsForm settingsForm = new SettingsForm(); settingsForm.ShowDialog(); }
Langkah 3: Dapatkan Pembolehubah dalam Borang Kanak-kanak
Dalam borang "tetapan" anda, kendalikan acara itu dengan mengatasi pengendali acara yang sepadan:
public partial class SettingsForm : Form { protected override void OnShown(EventArgs e) { base.OnShown(e); // Retrieve the event arguments PageInfoEventArgs args = this.Tag as PageInfoEventArgs; if (args != null) { // Access the passed variable string receivedText = args.PageInfo; } } }
Menggunakan Pembina untuk Lulus Pembolehubah
Sebagai alternatif, anda juga boleh menghantar pembolehubah terus kepada pembina borang anak:
public partial class SettingsForm : Form { private string receivedText; public SettingsForm(string text) { this.receivedText = text; } }
Dalam kes ini, anda akan mencipta contoh bentuk anak dengan pembolehubah sebagai hujah:
SettingsForm settingsForm = new SettingsForm(SomeString);
Atas ialah kandungan terperinci Bagaimana untuk Meluluskan Pembolehubah Antara Borang Windows Menggunakan Perwakilan dan Acara atau Pembina?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!