Von VBA zu C#: Steuerelement-Ereignisse

Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.

Wer unter VBA Ereignisprozeduren für Formulare, Berichte oder Steuerelemente erstellen wollte, hatte es leicht: Einfach in der Ereigniseigenschaft den Wert [Ereignisprozedur] auswählen, auf die Schaltfläche mit den drei Punkten klicken und schon konnte man die vorgefertigte Prozedur mit Anweisungen füllen. In manchen Fällen war das Implementieren von Ereignissen schon komplizierter, aber immer noch schnell machbar. Unter C# bekommt man dies auch meist mit wenigen Klicks hin, aber die notwendigen Handgriffe unterscheiden sich doch deutlich von denen unter VBA. Dieser Artikel zeigt, wie Sie gängige Varianten von Ereignisprozeduren anlegen.

Unter einem Ereignis verstehen wir dabei etwas, das durch eine bestimmte Aktion ausgelöst wird. Unter Access steht dies meist in Zusammenhang mit einem Formular oder einem Steuerelement, zum Beispiel das Öffnen oder Schließen des Formulars, das Anklicken einer Schaltfläche oder das Ändern des Inhalts eines Textfeldes.

Für die Implementierung einer Prozedur, die beim Eintreten des Ereignisses ausgelöst wird, sind dann zwei Schritte nötig: Erstens haben wir die entsprechende Ereigniseigenschaft aus dem Eigenschaftsfenster herausgesucht und dort den Wert [Ereignisprozedur] ausgewählt (siehe Bild 1).

Anlegen einer Ereignisprozedur

Bild 1: Anlegen einer Ereignisprozedur

Zweitens haben wir durch einen Klick auf die Schaltfläche mit den drei Punkten neben dem Eigenschaftswert die leere Prozedur angelegt, die dann wie in Bild 2 aussieht – die Ereignisprozedur. Wenn wir hier eine Anweisung wie MsgBox “Test” einfügen, in die Formularansicht wechseln und die Schaltfläche betätigen, wurde die Prozedur wie gewünscht ausgewählt.

Eine neue Ereignisprozedur unter VBA/Access

Bild 2: Eine neue Ereignisprozedur unter VBA/Access

Hier gibt es eine implizite Vereinbarung: Diese besagt, dass die Definition der Ereignisprozedur bestimmten Regeln entsprechen muss. Die erste bezieht sich auf den Namen, der aus dem Steuerelementnamen (oder Formular-/Berichtsnamen), einem Unterstrich sowie der englischen Version der Ereignisbezeichnung bestehen muss, hier beispielsweise cmdText_Click. Da es jedes Ereignis für jedes Objekt/Steuer-element nur einmal gibt, funktioniert dies sehr gut und man braucht für die Ereigniseigenschaft nur den Wert [Ereignisprozedur] anzugeben statt etwa des Prozedurnamens.

Andersherum können Sie Ereignisprozeduren auch über den VBA-Editor anlegen. Dazu wählen Sie im linken Kombinationsfeld den Namen des Objekts aus, das Sie mit dem Ereignis ausstatten wollen, und im linken das entsprechende Ereignis. Der VBA-Editor legt dann sowohl die leere Ereignisprozedur an als auch den Eintrag in der entsprechenden Ereigniseigenschaft.

Fenster- und Steuerelementereignisse unter WPF

Unter WPF läuft es ähnlich ab. Für die folgenden Beispiele verwenden wir ein C#/WPF-Projekt namens Ereignisse. Um für eine Schaltfläche eine Ereignisprozedur zu implementieren, die beim Anklicken der Schaltfläche ausgelöst wird, erstellen Sie zunächst eine neue Schaltfläche, in diesem Fall direkt im Hauptfenster der Anwendung namens MainWindow.

Wir benennen die Schaltfläche um, indem wir das Attribut name des button-Objekts im XAML-Bereich mit dem gewünschten Namen versehen:

Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...

Testzugang

eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel

diesen und alle anderen Artikel mit dem Jahresabo

Schreibe einen Kommentar