Ereignisweitergabe von Benutzersteuerelementen an das Hauptformular
Beim Benutzeroberflächendesign ist es häufig erforderlich, Ereignisse von benutzerdefinierten Steuerelementen an das weiterzuleiten übergeordnetes Formular oder Fenster. Um dies zu erreichen, müssen wir einen Mechanismus für das Ereignis-Bubbling erstellen, der es kontrollierten Ereignissen ermöglicht, den übergeordneten Kontext zu erreichen.
Stellen Sie sich beispielsweise ein Benutzersteuerelement vor, das ein numerisches Auf/Ab-Steuerelement (NUD) enthält. Wenn sich der NUD-Wert ändert, soll das Hauptformular ein Anzeigefenster entsprechend aktualisieren. Ereignisse innerhalb von Benutzersteuerelementen werden jedoch normalerweise vom Steuerelement selbst verarbeitet.
Um dieses Problem zu beheben, erstellen wir einen Ereignishandler für das Benutzersteuerelement, der ausgelöst wird, wenn ein Ereignis innerhalb des Steuerelements auftritt. Auf diese Weise können wir das Ereignis in der Kette nach oben und in die Hauptform weitergeben.
Implementierung in C#
In der Benutzerkontrollklasse definieren wir ein Ereignis für das Button1_Click-Ereignis. Dieses Ereignis wird ausgelöst, wenn auf die Schaltfläche im Benutzersteuerelement geklickt wird. Wir definieren auch einen Ereignishandler für das Ereignis.
[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); }
In der Hauptformularklasse abonnieren wir das ButtonClick-Ereignis des Benutzersteuerelements. Wenn auf die Schaltfläche im Benutzersteuerelement geklickt wird, wird der Ereignishandler UserControl_ButtonClick im Hauptformular ausgelöst.
UserControl1.ButtonClick += new EventHandler(UserControl_ButtonClick); protected void UserControl_ButtonClick(object sender, EventArgs e) { //handle the event }
Mit diesem Ansatz ermöglichen wir die Weitergabe von Ereignissen vom Benutzersteuerelement an das Hauptformular , was eine nahtlose Handhabung und Reaktion auf Benutzerinteraktionen ermöglicht.
Das obige ist der detaillierte Inhalt vonWie kann ich Ereignisse von Benutzersteuerelementen an das Hauptformular in C# weitergeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!