Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Mengirim Data dengan Cekap Antara Borang Windows?
Melalui Data Antara Borang Windows
Dalam aplikasi Windows Forms, selalunya perlu berkongsi data antara berbilang borang. Apabila satu borang membuka yang lain, ia mungkin perlu menyampaikan maklumat khusus untuk digunakan oleh borang baharu. Satu pendekatan biasa untuk mencapai ini adalah melalui perwakilan.
Penerangan Masalah
Dalam senario tertentu, borang utama mempunyai butang bernama "Tetapan" yang membuka borang kanak-kanak dipanggil "Borang Tetapan". Keperluan adalah untuk menghantar pembolehubah ke Borang Tetapan apabila ia dibuka supaya nilai pembolehubah boleh dipaparkan dalam bentuk baharu.
Pendekatan Perwakilan
Untuk menyelesaikan masalah ini, anda boleh menentukan perwakilan dalam bentuk utama yang menerima pengendali acara tersuai. Pengendali acara, seterusnya, menghantar pembolehubah kepada borang anak melalui kelas argumen acara.
Dalam coretan kod yang anda berikan, perwakilan dan acara berikut ditakrifkan dalam kelas MainForm:
public partial class MainForm : Form { public delegate void PageInfoHandler(object sender, PageInfoEventArgs e); public event PageInfoHandler PageInfoRetrieved; ... }
Kelas PageInfoEventArgs mesti ditakrifkan untuk memegang nilai pembolehubah:
public class PageInfoEventArgs : EventArgs { public string SomeString; public PageInfoEventArgs(string someString) { SomeString = someString; } }
Apabila Butang "Tetapan" diklik dalam bentuk utama, contoh PageInfoEventArgs dibuat dengan nilai pembolehubah dan acara PageInfoRetrieved dicetuskan. Pengendali acara dalam Borang Tetapan kemudiannya akan menerima pembolehubah dan boleh menggunakannya untuk memaparkan nilai.
Pendekatan Pembina
Pendekatan lain ialah dengan melepasi pembolehubah sebagai parameter kepada pembina Borang Tetapan. Borang itu kemudiannya boleh menggunakan parameter pembina dalam logiknya.
Sebagai contoh, anda boleh mempunyai:
public class SettingsForm : Form { private string _variable; public SettingsForm(string variable) { _variable = variable; } ... // Use _variable as needed }
Dalam Borang Utama, anda akan mencipta Borang Tetapan sebagai:
SettingsForm settingsForm = new SettingsForm("value"); settingsForm.ShowDialog();
Atas ialah kandungan terperinci Bagaimana untuk Mengirim Data dengan Cekap Antara Borang Windows?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!