Mengakses kawalan daripada satu borang dalam borang lain boleh mencabar. Pertimbangkan dua borang, "Borang 1" dengan ListBox dan "Borang 2" yang perlu mengakses sifat SelectedIndexnya.
Daripada menggunakan corak Singleton, pertimbangkan untuk menghantar rujukan dari satu bentuk ke bentuk yang lain. Ini membolehkan komunikasi terus antara mereka.
Dalam Borang1:
// ... public int MyListBoxSelectedIndex { set { lsbMyList.SelectedIndex = value; } } // ...
Dalam Borang2:
// ... private Form1 mainForm; // Reference to "Form 1" public AddNewObjForm() { InitializeComponent(); mainForm = new ControlForm(); } public void SomeMethod() { mainForm.MyListBoxSelectedIndex = -1; } // ...
Pendekatan lain melibatkan menghantar rujukan dari Borang1 ke Borang2, membenarkan Borang2 mengubah suai sifat LabelText Label Borang1 kawalan:
Borang1:
// ... public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Form2 frm = new Form2(this); // Pass reference to Form2 frm.Show(); } public string LabelText { get { return Lbl.Text; } set { Lbl.Text = value; } } } // ...
Borang2:
// ... public partial class Form2 : Form { public Form2() { InitializeComponent(); } private Form1 mainForm = null; public Form2(Form callingForm) { mainForm = callingForm as Form1; // Cast to Form1 InitializeComponent(); } private void Form2_Load(object sender, EventArgs e) { this.mainForm.LabelText = txtMessage.Text; // Modify LabelText } private void button1_Click(object sender, EventArgs e) { // ... } } // ...
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses dan Mengubah Suai Kawalan Borang daripada Borang Lain dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!