Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah saya dapat berkomunikasi dengan berkesan antara dua bentuk tingkap di C#?

Bagaimanakah saya dapat berkomunikasi dengan berkesan antara dua bentuk tingkap di C#?

Barbara Streisand
Lepaskan: 2025-02-02 18:16:12
asal
354 orang telah melayarinya

How Can I Effectively Communicate Between Two Windows Forms in C#?

Melengkapkan pemindahan data antara C# Windows Forms

Komunikasi yang cekap antara pelbagai bentuk tingkap dalam aplikasi C# adalah penting, terutamanya apabila memindahkan data dari bentuk sekunder (mis., Tetingkap tetapan) kembali ke bentuk utama. Menguruskan pelbagai tetapan melalui sifat individu boleh menjadi sukar dikawal. Penyelesaian yang lebih bersih melibatkan beban pembina.

Pendekatan ini melewati rujukan borang panggilan ke pembina bentuk menengah, mewujudkan pautan langsung untuk pertukaran data.

Inilah contoh yang menunjukkan teknik ini:

Form1 (Borang Utama):

Apabila
<code class="language-csharp">public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        Form2 frm = new Form2(this);
        frm.ShowDialog(); // Use ShowDialog to block until Form2 closes
    }

    public string LabelText
    {
        get { return Lbl.Text; }
        set { Lbl.Text = value; }
    }
}</code>
Salin selepas log masuk
dibuka

, ia melewati rujukannya sendiri. Form1 Form2

form2 (bentuk sekunder):

<code class="language-csharp">public partial class Form2 : Form
{
    private Form1 mainForm;

    public Form2(Form callingForm)
    {
        mainForm = callingForm as Form1;
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        mainForm.LabelText = txtMessage.Text;
        this.Close(); // Close Form2 after data transfer
    }
}</code>
Salin selepas log masuk
Menggunakan rujukan ini (

) untuk mengakses dan mengubahsuai sifat Form2, membolehkan pemindahan data lancar. Perhatikan penggunaan mainForm dalam Form1 dan ShowDialog() dalam Form1 untuk aliran kawalan yang lebih baik. Ini memastikan this.Close() ditutup selepas pemindahan data selesai, dan menghalang tingkah laku yang tidak dijangka. Kaedah ini menyediakan cara yang mantap dan cekap untuk menguruskan komunikasi antara bentuk dalam C#. Form2

Atas ialah kandungan terperinci Bagaimanakah saya dapat berkomunikasi dengan berkesan antara dua bentuk tingkap di C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan