Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Meluluskan Acara daripada Kawalan Pengguna kepada Borang Induknya?

Bagaimanakah Saya Boleh Meluluskan Acara daripada Kawalan Pengguna kepada Borang Induknya?

Barbara Streisand
Lepaskan: 2025-01-05 20:35:39
asal
560 orang telah melayarinya

How Can I Pass Events from a User Control to Its Parent Form?

Melalui Acara Ke Atas Hierarki Kawalan Pengguna

Dalam kawalan pengguna tersuai, selalunya wajar untuk menjadikan acara yang dibangkitkan dalam kawalan boleh diakses oleh utama bentuk. Ini menjadi jelas apabila cuba mengendalikan peristiwa yang berasal daripada subkawalan, seperti perubahan nilai dalam kawalan atas-bawah angka.

Mencipta Pengendali Acara

Untuk menangani perkara ini cabaran, buat pengendali acara dalam kawalan pengguna yang akan dicetuskan apabila peristiwa yang diingini berlaku. Pengendali acara ini harus "memajukan" acara ke dalam borang, membolehkannya mengendalikannya.

Kod Contoh

Pertimbangkan kawalan pengguna dengan butang bernama "Button1 ":

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
    if (this.ButtonClick!= null)
        this.ButtonClick(this, e);               
}
Salin selepas log masuk

Utama Borang:

UserControl1.ButtonClick += new EventHandler(UserControl_ButtonClick);

protected void UserControl_ButtonClick(object sender, EventArgs e)
{
    //handle the event 
}
Salin selepas log masuk

Nota

  • Keterlihatan Acara: Atribut Boleh Semak Imbas mendedahkan acara dalam "acara" pereka Visual Studio pandangan.
  • Kategori Acara: Atribut kategori menentukan kategori acara, seperti "Tindakan."
  • Perihalan Acara: Atribut Penerangan memberikan penerangan ringkas tentang acara.
  • Pengendalian Acara Peninggalan: Atribut di atas mungkin ditinggalkan, tetapi ketersediaan pereka bentuk bertambah baik kebolehgunaan.
  • Sintaks yang Dipertingkat: Versi Visual Studio yang lebih baharu menyokong sintaks yang lebih pendek: ButtonClick?.Invoke(this, e); bukannya jika (this.ButtonClick!= null) this.ButtonClick(this, e);.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Meluluskan Acara daripada Kawalan Pengguna kepada Borang Induknya?. 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