Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mengendalikan Acara Kawalan Pengguna Tersuai dalam Borang Utama Saya?

Bagaimanakah Saya Boleh Mengendalikan Acara Kawalan Pengguna Tersuai dalam Borang Utama Saya?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-04 19:30:391067semak imbas

How Can I Handle Custom User Control Events in My Main Form?

Peristiwa Kawalan Pengguna Tersuai untuk Pengendalian Borang Utama

Dalam pembangunan kawalan pengguna tersuai, situasi mungkin timbul di mana anda memerlukan peristiwa yang berlaku dalam kawalan untuk dikendalikan oleh bentuk utama. Sebagai contoh, mendaftarkan acara "ValueChanged" untuk kawalan atas-bawah angka dalam kawalan pengguna boleh mencetuskan kemas kini dalam tetingkap paparan pada borang utama.

Untuk mencapai ini, anda mesti mencipta pengendali acara dalam kawalan pengguna yang dinaikkan apabila peristiwa dalaman berlaku. Ini membolehkan acara menggelegak ke atas dikendalikan oleh borang utama.

Pertimbangkan contoh berikut:

Kod Kawalan Pengguna:

[Browsable(true)]
[Category("Action")]
[Description("Invoked when user clicks button")]
public event EventHandler ButtonClick;

protected void Button1_Click(object sender, EventArgs e)
{
    // Bubble the event up to the parent
    ButtonClick?.Invoke(this, e);
}

Borang Utama Kod:

UserControl1.ButtonClick += new EventHandler(UserControl_ButtonClick);

protected void UserControl_ButtonClick(object sender, EventArgs e)
{
    // Handle the event
}

Nota:

  • Versi Visual Studio yang lebih baharu menyediakan sintaks yang lebih ringkas: ButtonClick?.Invoke(this, e) ; bukannya if (this.ButtonClick != null) this.ButtonClick(this, e);.
  • Atribut seperti Boleh Semak Imbas, Kategori dan Perihalan mengkonfigurasi keterlihatan acara dan metadata dalam pereka bentuk Visual Studio. Walaupun pilihan, ia meningkatkan pengalaman pengguna.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengendalikan Acara Kawalan Pengguna Tersuai dalam Borang Utama Saya?. 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