Heim > Backend-Entwicklung > C++ > Wie kann ich Ereignisse von einem Benutzersteuerelement an sein übergeordnetes Formular übergeben?

Wie kann ich Ereignisse von einem Benutzersteuerelement an sein übergeordnetes Formular übergeben?

Barbara Streisand
Freigeben: 2025-01-05 20:35:39
Original
555 Leute haben es durchsucht

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

Ereignisse in der Hierarchie der Benutzersteuerung weiterleiten

In benutzerdefinierten Benutzersteuerungen ist es häufig wünschenswert, innerhalb der Steuerung ausgelöste Ereignisse für die Hauptsteuerung zugänglich zu machen bilden. Dies wird deutlich, wenn versucht wird, Ereignisse zu verarbeiten, die von Untersteuerelementen stammen, wie z. B. Wertänderungen in einem numerischen Auf-Ab-Steuerelement.

Erstellen eines Ereignishandlers

Um dieses Problem zu beheben Challenge erstellen Sie einen Event-Handler innerhalb der Benutzersteuerung, der ausgelöst wird, wenn das gewünschte Ereignis eintritt. Dieser Ereignishandler sollte das Ereignis in das Formular „aufblasen“, damit es es verarbeiten kann.

Beispielcode

Stellen Sie sich ein Benutzersteuerelement mit einer Schaltfläche namens „Button1“ vor ":

Benutzerkontrolle:

[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);               
}
Nach dem Login kopieren

Haupt Form:

UserControl1.ButtonClick += new EventHandler(UserControl_ButtonClick);

protected void UserControl_ButtonClick(object sender, EventArgs e)
{
    //handle the event 
}
Nach dem Login kopieren

Notizen

  • Ereignissichtbarkeit: Das Attribut „Durchsuchbar“ macht das Ereignis in den „Ereignissen“ des Visual Studio-Designers verfügbar. Ansicht.
  • Ereigniskategorie: Das Kategorieattribut gibt die Ereignisse an B. „Aktion“.
  • Ereignisbeschreibung: Das Attribut „Beschreibung“ enthält eine kurze Beschreibung des Ereignisses.
  • Auslassung bei der Ereignisbehandlung: Es ist möglich, die oben genannten Attribute wegzulassen, aber die Verfügbarkeit von Designern verbessert die Benutzerfreundlichkeit.
  • Verbessert Syntax: Neuere Visual Studio-Versionen unterstützen eine kürzere Syntax: ButtonClick?.Invoke(this, e); statt if (this.ButtonClick!= null) this.ButtonClick(this, e);.

Das obige ist der detaillierte Inhalt vonWie kann ich Ereignisse von einem Benutzersteuerelement an sein übergeordnetes Formular übergeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage