InputBox im Eigenbau

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

Wer von Access/VBA kommt, kann unter WPF die “MsgBox”-Anweisung leicht mit den Funktionen der Klasse “MessageBox” ersetzen. Allerdings sucht man vergeblich nach einem Pendant zur InputBox-Funktion, die ja ein einfaches Eingabefenster für die Eingabe eines Textes zur Verfügung stellt. Doch das ist kein Problem: Unter C#/WPF können Sie ja eigene Fenster erstellen. Warum dann nicht ein Fenster mit Titel, Text, Eingabefeld und OK/Abbrechen-Schaltflächen bauen und dieses bei Bedarf aufrufen

Vorgaben InputBox

Was soll eine InputBox überhaupt alles leisten Wir richten uns im Wesentlichen nach der InputBox von Access/VBA. Diese wird wie folgt aufgerufen, wenn man die hinteren Parameter etwa für die Position und für die Onlinehilfe weglässt:

Debug.Print InputBox("Geben Sie einen Text ein.", "Texteingabe", "[Hier eingeben]")

Die Debug.Print-Anweisung gibt den zurückgelieferten Wert im Direktfenster des VBA-Editors aus. Wie Sie sehen, verwenden wir hier drei Parameter:

  • Prompt: Text, der den Benutzer informiert, welche Eingabe von ihm erwartet wird
  • Title: Text für die Titelleiste des Fensters (optional)
  • Default: Text, der als Vorgabe im Textfeld angezeigt werden soll (optional)

Die InputBox selbst sieht dann wie in Bild 1 aus. Hier gibt es vier Steuerelemente: das Bezeichnungsfeld für den Text aus dem Parameter Prompt, das Textfeld zur Eingabe des gesuchten Wertes durch den Benutzer, das gegebenenfalls den Wert aus Default anzeigt, sowie die beiden Schaltflächen OK und Abbrechen.

InputBox unter VBA

Bild 1: InputBox unter VBA

Wenn der Benutzer die OK-Schaltfläche betätigt, soll die Funktion InputBox den aktuell im Textfeld befindlichen Text zurückliefern, bei Betätigung der Abbrechen-Schaltfläche soll eine leere Zeichenfolge zurückgegeben werden.

Wenn der Benutzer die Eingabetaste drückt, löst er die Funktion der OK-Schaltfläche aus, die Escape-Taste bewirkt selbiges für die Abbrechen-Schaltfläche.

InputBox als Fenster

Um ein Projekt mit einem Fenster auszustatten, das als InputBox dient, fügen Sie diesem einfach ein normales Objekt des Typs Fenster (WPF) hinzu. Nennen Sie das Fenster im Dialog Neues Element hinzufügen schlicht InputBox. Das Fenster statten Sie mit den Steuerelementen aus Bild 2 aus (das Bezeichnungsfeld haben wir markiert, damit man es überhaupt erkennt).

Fenster zur Anzeige einer InputBox im Entwurf

Bild 2: Fenster zur Anzeige einer InputBox im Entwurf

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