Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Mengirim Data dengan Cekap Antara Borang Windows?

Bagaimana untuk Mengirim Data dengan Cekap Antara Borang Windows?

DDD
Lepaskan: 2025-01-03 20:46:40
asal
952 orang telah melayarinya

How to Efficiently Pass Data Between Windows Forms?

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;
    ...
}
Salin selepas log masuk

Kelas PageInfoEventArgs mesti ditakrifkan untuk memegang nilai pembolehubah:

public class PageInfoEventArgs : EventArgs
{
    public string SomeString;
    
    public PageInfoEventArgs(string someString)
    {
        SomeString = someString;
    }
}
Salin selepas log masuk

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
}
Salin selepas log masuk

Dalam Borang Utama, anda akan mencipta Borang Tetapan sebagai:

SettingsForm settingsForm = new SettingsForm("value");
settingsForm.ShowDialog();
Salin selepas log masuk

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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan