Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mengakses dan Mengubah Suai Kawalan Dengan Cekap Merentas Borang Windows Berbeza?

Bagaimanakah Saya Boleh Mengakses dan Mengubah Suai Kawalan Dengan Cekap Merentas Borang Windows Berbeza?

Susan Sarandon
Susan Sarandonasal
2025-01-07 13:26:39924semak imbas

How Can I Efficiently Access and Modify Controls Across Different Windows Forms?

Mengakses Kawalan Borang Merentas Borang

Masalah:

Anda mempunyai berbilang borang dan perlu akses dan ubah suai kawalan khusus (cth., ListBox) dalam satu bentuk daripada yang lain. Adakah terdapat pendekatan yang lebih baik daripada mencipta penetap awam?

Penyelesaian Cadangan:

Meluluskan Rujukan Borang

Daripada mewujudkan awam penetap, pertimbangkan untuk menghantar rujukan satu borang kepada borang yang lain semasa permulaan. Ini membenarkan akses terus kepada kawalan dan hartanah tanpa memerlukan sifat perantara.

Contoh Kod:

Borang1 memulakan Borang2 dan menyediakan rujukan kepada dirinya sendiri.

    public partial class Form1 : Form
    {
        private void button1_Click(object sender, EventArgs e)
        {
            Form2 frm = new Form2(this);
            frm.Show();
        }

        public string LabelText
        {
            get { return Lbl.Text; }
            set { Lbl.Text = value; }
        }
    }

Borang2 menerima rujukan kepada Borang1.

    public partial class Form2 : Form
    {
        private Form1 mainForm = null;
        public Form2(Form callingForm)
        {
            mainForm = callingForm as Form1; 
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            this.mainForm.LabelText = txtMessage.Text;
        }
    }

Oleh melalui rujukan melalui pembina, Borang2 boleh mengakses dan mengubah suai sifat LabelText Borang1 secara langsung.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses dan Mengubah Suai Kawalan Dengan Cekap Merentas Borang Windows Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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