Komunikasi antara kedua -dua Windows Windows di C#
Dalam aplikasi C#, komunikasi antara pelbagai tingkap adalah penting untuk pertukaran data dan koordinasi. Artikel ini akan membincangkan senario yang sama: menghantar data dari tetingkap pilihan ke tetingkap utama. Walaupun penggunaan atribut adalah kaedah yang boleh dilaksanakan, ia mungkin menjadi sangat rumit untuk sejumlah besar pilihan.
kaedah pembina beban berat
Penyelesaian yang lebih berkesan adalah menggunakan pembina berat. Berikut adalah prinsip kerja:
di tetingkap utama, tentukan pembina, yang menggunakan contoh tetingkap pilihan sebagai parameter:
<code class="language-csharp">public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public Form1(Form2 optionsForm)
{
InitializeComponent();
// 根据optionsForm参数初始化必要的选项
}
// ... 其他代码
}</code>
Salin selepas log masuk
Dalam tetingkap pilihan, tentukan pembina berat, yang menerima tetingkap utama:
<code class="language-csharp">public partial class Form2 : Form
{
private Form1 _mainForm;
public Form2()
{
InitializeComponent();
}
public Form2(Form1 mainForm)
{
InitializeComponent();
_mainForm = mainForm;
}
// ... 其他代码
}</code>
Salin selepas log masuk
Apabila tetingkap pilihan dibuka dari tetingkap utama, contoh tetingkap utama diluluskan sebagai parameter kepada pembina tetingkap pilihan:
<code class="language-csharp">private void button1_Click(object sender, EventArgs e)
{
Form2 frm = new Form2(this);
frm.Show();
}</code>
Salin selepas log masuk
Dalam tetingkap pilihan, kini anda boleh mengakses atribut dan kaedah secara langsung mengakses tetingkap utama melalui _MainForm. Sebagai contoh, anda boleh mengubah suai label pada tetingkap utama:
<code class="language-csharp">private void button1_Click(object sender, EventArgs e)
{
_mainForm.label1.Text = "从选项窗体修改";
}</code>
Salin selepas log masuk
Kaedah ini menyediakan cara yang mudah dan berkesan untuk menyampaikan data antara tingkap tanpa bergantung pada pengurusan atribut kompleks. Ia amat berguna untuk tetingkap pilihan atau kotak dialog yang perlu menghantar beberapa tingkap penghantaran titik data.
Atas ialah kandungan terperinci Bagaimana untuk berkomunikasi dengan cekap antara dua bentuk tingkap di C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!