Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ereignisse für Steuerelemente (und für Formulare) werden im Allgemeinen über Visual Studio Visual Designer für Windows Forms festgelegt. Das Festlegen eines Ereignisses über den Visual Designer wird zur Entwurfszeit als Behandlung eines Ereignisses bezeichnet. Sie können Ereignisse auch dynamisch im Code behandeln, was als Ereignisbehandlung zur Laufzeit bezeichnet wird. Ein zur Laufzeit erstelltes Ereignis ermöglicht es Ihnen, Ereignishandler dynamisch je nach aktueller Funktion Ihrer App zu verbinden.
Behandeln eines Ereignisses zur Entwurfszeit
Verwenden Sie in Visual Studio den Visual Designer, um Handler für Steuerelementereignisse zu verwalten. Der Visual Designer generiert den Handlercode und fügt ihn dem Ereignis für Sie hinzu.
Handler einstellen
Verwenden Sie den Eigenschaftenbereich , um den Handler eines Ereignisses hinzuzufügen oder festzulegen:
Öffnen Sie den Visual Designer des Formulars, das das Zu ändernde Steuerelement enthält.
Wählen Sie das Steuerelement aus.
Ändern Sie den Eigenschaftenbereichsmodus in Ereignisse , indem Sie die Schaltfläche "Ereignisse" (
) drücken.
Suchen Sie das Ereignis, dem Sie einen Handler hinzufügen möchten, z. B. dem Click-Ereignis :
Führen Sie eine der folgenden Aktionen aus:
Doppelklicken Sie auf das Ereignis, um einen neuen Handler zu generieren. Wenn kein Handler zugewiesen ist, bleibt es leer. Wenn sie nicht leer ist, öffnet diese Aktion den Code für das Formular und navigiert zum vorhandenen Handler.
Verwenden Sie das Auswahlfeld (
), um einen vorhandenen Handler auszuwählen.
Im Auswahlfeld werden alle Methoden aufgelistet, die über eine kompatible Methodensignatur für den Ereignishandler verfügen.
Handler löschen
Um einen Ereignishandler zu entfernen, können Sie nicht einfach den Handlercode löschen, der sich in der CodeBehind-Datei des Formulars befindet, da er immer noch vom Designer referenziert wird. Verwenden Sie den Eigenschaftenbereich , um den Handler eines Ereignisses zu entfernen:
Öffnen Sie den Visual Designer des Formulars, das das Zu ändernde Steuerelement enthält.
Wählen Sie das Steuerelement aus.
Ändern Sie den Eigenschaftenbereichsmodus in Ereignisse , indem Sie die Schaltfläche "Ereignisse" (
) drücken.
Suchen Sie das Ereignis mit dem Handler, den Sie entfernen möchten, z. B. das Click-Ereignis :
Klicken Sie mit der rechten Maustaste auf das Ereignis, und wählen Sie "Zurücksetzen" aus.
Behandeln eines Ereignisses zur Laufzeit
In der Regel fügen Sie Ereignishandler zu Steuerelementen während der Entwurfsphase über den Visual Designer hinzu. Sie können jedoch Steuerelemente zur Laufzeit erstellen, was es erforderlich macht, Ereignishandler im Code hinzuzufügen. Durch das Hinzufügen von Handlern im Code haben Sie auch die Möglichkeit, demselben Ereignis mehrere Handler hinzuzufügen.
Handler hinzufügen
Das folgende Beispiel zeigt, wie Sie ein Steuerelement erstellen und einen Ereignishandler hinzufügen. Dieses Steuerelement wird im Button.Click
-Ereignishandler einer anderen Schaltfläche erstellt. Wenn Button1 gedrückt wird. Der Code verschiebt und passt die Größe einer neuen Schaltfläche an. Das Ereignis der neuen Schaltfläche Click
wird von der MyNewButton_Click
Methode behandelt. Damit die neue Schaltfläche angezeigt wird, wird sie der Auflistung des Formulars Controls
hinzugefügt. Es gibt auch Code zum Entfernen des Button1.Click
Ereignishandlers. Dies wird im Abschnitt "Entfernen des Handlers" erläutert.
private void button1_Click(object sender, EventArgs e)
{
// Create and add the button
Button myNewButton = new()
{
Location = new Point(10, 10),
Size = new Size(120, 25),
Text = "Do work"
};
// Handle the Click event for the new button
myNewButton.Click += MyNewButton_Click;
this.Controls.Add(myNewButton);
// Remove this button handler so the user cannot do this twice
button1.Click -= button1_Click;
}
private void MyNewButton_Click(object sender, EventArgs e)
{
}
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
'Create and add the button
Dim myNewButton As New Button() With {.Location = New Point(10, 10),
.Size = New Size(120, 25),
.Text = "Do work"}
'Handle the Click event for the new button
AddHandler myNewButton.Click, AddressOf MyNewButton_Click
Me.Controls.Add(myNewButton)
'Remove this button handler so the user cannot do this twice
RemoveHandler Button1.Click, AddressOf Button1_Click
End Sub
Private Sub MyNewButton_Click(sender As Object, e As EventArgs)
End Sub
Führen Sie zum Ausführen dieses Codes die folgenden Schritte mit einem Formular mit Visual Studio Visual Designer aus:
- Fügen Sie dem Formular eine neue Schaltfläche hinzu, und nennen Sie sie Button1.
- Ändern Sie den Eigenschaftenbereichsmodus in Ereignisse , indem Sie die Ereignisschaltfläche (
) drücken.
- Doppelklicken Sie auf das Click-Ereignis , um einen Handler zu generieren. Diese Aktion öffnet das Codefenster und generiert eine leere
Button1_Click
Methode. - Ersetzen Sie den Methodencode durch den vorherigen Code oben.
Weitere Informationen zu C#-Ereignissen finden Sie unter Events (C#) Weitere Informationen zu Visual Basic-Ereignissen finden Sie unter Events (Visual Basic)
Entfernen des Handlers
Der Abschnitt "Handler hinzufügen" hat code verwendet, um das Hinzufügen eines Handlers zu veranschaulichen. Dieser Code enthielt auch einen Aufruf zum Entfernen eines Handlers:
button1.Click -= button1_Click;
RemoveHandler Button1.Click, AddressOf Button1_Click
Diese Syntax kann verwendet werden, um jeden Ereignishandler aus jedem Ereignis zu entfernen.
Weitere Informationen zu C#-Ereignissen finden Sie unter Events (C#) Weitere Informationen zu Visual Basic-Ereignissen finden Sie unter Events (Visual Basic)
So verwenden Sie mehrere Ereignisse mit demselben Handler
Im Eigenschaftenbereich von Visual Studio können Sie denselben Handler auswählen, der bereits von einem anderen Ereignis verwendet wird. Folgen Sie den Anweisungen im Abschnitt "Festlegen des Handlers ", um einen vorhandenen Handler auszuwählen, anstatt einen neuen zu erstellen.
In C# wird der Handler an das Ereignis eines Steuerelements im Designercode des Formulars angefügt, der durch den Visual Designer geändert wurde. Weitere Informationen zu C#-Ereignissen finden Sie unter Ereignisse (C#)
Visual Basic
In Visual Basic wird der Handler an das Ereignis eines Steuerelements in der CodeBehind-Datei des Formulars angefügt, in der der Ereignishandlercode deklariert wird. Dem Ereignishandlercode können mehrere Handles
Schlüsselwörter hinzugefügt werden, um sie mit mehreren Ereignissen zu verwenden. Der Visual Designer generiert das Handles
Schlüsselwort für Sie und fügt es dem Ereignishandler hinzu. Sie können dies jedoch ganz einfach selbst mit dem Ereignis- und Ereignishandler eines Steuerelements tun, solange die Signatur der Handlermethode mit dem Ereignis übereinstimmt. Weitere Informationen zu Visual Basic-Ereignissen finden Sie unter Events (Visual Basic)
Dieser Code veranschaulicht, wie die gleiche Methode als Handler für zwei verschiedene Button.Click
Ereignisse verwendet werden kann:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click, Button2.Click
'Do some work to handle the events
End Sub
Siehe auch
.NET Desktop feedback