Die MessageBox-Klasse

Die MessageBox-Klasse unter C# bietet ähnliche Features wie die von VBA bekannte MsgBox-Funktion. Allerdings ist es erstens eine Klasse und zweitens kann sie natürlich doch noch einiges mehr als das VBA-Pendant. Dieser Artikel zeigt, wie Sie Meldungsfenster unter C# anzeigen und diese mit Texten, Schaltflächen und anderen Elementen ausstatten. Schließlich interessiert uns auch noch, wie wir die vom Benutzer angeklickten Schaltflächen und somit die Antworten auf die in der Meldung gestellten Fragen auswerten können.

Unter C# nutzen wir also eine Klasse namens MessageBox. Diese ist eine statische Klasse, das heißt, dass Sie diese nicht instanzieren müssen, bevor Sie auf ihre Methoden und Eigenschaften zugreifen. Während Sie unter VBA einfach die MsgBox-Funktion unter Angabe des anzuzeigenden Textes aufgerufen haben, brauchen Sie bei der MessageBox eine entsprechende Methode, die in diesem Fall Show heißt.

Im Beispielprojekt zu diesem Artikel haben wir ein einfaches WPF-Fenster mit Schaltflächen gefüllt, welche die in diesem Artikel vorgestellten Meldungsfenster aufruft (siehe Bild 1). Das erste soll einfach nur einen Text anzeigen. Die Methode, die durch das Click-Ereignis der entsprechenden Schaltfläche aufgerufen wird, sieht wie folgt aus und nutzt die erste der zwölf angebotenen Überladungen:

MessageBox mit WPF

Bild 1: MessageBox mit WPF

private void btnEinfacheMeldung_Click(object sender, 
         RoutedEventArgs e) {
     MessageBox.Show("Einfache Meldung");
}

Im Gegensatz etwa zum Window-Objekt, das die beiden Methoden Show und ShowDialog zum Anzeigen anbietet, gibt die MessageBox-Klasse nur die Show-Methode her. Das bedeutet allerdings nicht, dass Meldungsfenster nicht als modale Fenster ausgegeben werden – ganz im Gegenteil: Show liefert immer ein modales Fenster. Dementsprechend müssen Sie es erst mit einer der angezeigten Schaltflächen schließen, bevor die aufrufende Methode fortgesetzt wird.

Titel anzeigen

Mit der folgenden Überladung übergeben Sie im zweiten Parameter den anzuzeigenden Titel für die MessageBox:

MessageBox.Show("Meldung mit Titel", "Titelzeile");

Dies sieht dann etwa wie in Bild 2 aus.

MessageBox mit Titelzeile

Bild 2: MessageBox mit Titelzeile

Schaltflächen der MessageBox

Möchten Sie weiterlesen? Dann lösen Sie Ihr Ticket!
Hier geht es zur Bestellung des Jahresabonnements des Magazins DATENBANKENTWICKLER:
Zur Bestellung ...
Danach greifen Sie sofort auf alle rund 200 Artikel unseres Angebots zu - auch auf diesen hier!
Oder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:

Schreibe einen Kommentar