ValidatingTextBox control

Pimped up TextBox with input validation features and support for common hotkeys for text editing.

Diese aufgebohrte TextBox erweitert das Standard-Steuerelement um Funktionen zur Eingabeprüfung und erlaubt die Verwendung gängiger Hotkeys zur Textbearbeitung. Sie lässt sich so konfigurieren, dass sie nur Zahleneingaben oder erlaubte Zeichen akzeptiert oder die Eingabe mit einem regulären Ausdruck prüft.

Das Steuerelement bietet diverse Optionen, um sein Verhalten zu konfigurieren:

  • Mit der Type-Eigenschaft lässt sich die Eingabeprüfung zwischen Zahleneingaben, erlaubten Zeichen, regulärem Ausdruck und benutzerdefinierter Prüfung umschalten oder zur freien Eingabe deaktivieren. Die Eigenschaften ValidCharacters und RegularExpression geben die erlaubten Zeichen bzw. den regulären Ausdruck an.
  • Mit der Eigenschaft FinalRegularExpression lässt sich zusätzlich zur Prüfung während der Eingabe ein regulärer Ausdruck angeben, der beim Verlassen des Textfelds geprüft wird. Diese Prüfung kann mit der DeferFinalCheck-Eigenschaft deaktiviert werden, um sie zu einem geeigneten Zeitpunkt mit FinalCheck() durch Benutzercode auszuführen.
  • Die Eigenschaft RequireInput legt fest, ob das Textfeld leer bleiben darf.
  • Die Eigenschaft TrimOnLeaving legt fest, ob beim Verlassen des Textfelds Leerzeichen von den Enden des eingegebenen Textes entfernt werden sollen. So gelangen unsichtbare Leerzeichen gar nicht erst in die weitere Verarbeitung und erforderliche Eingaben sind es tatsächlich.
  • Die ExpectedFormatDescription-Eigenschaft enthält eine Beschreibung des erwarteten Eingabeformats und wird in einem ToolTip unter der TextBox angezeigt, wenn der Anwender eine ungültige Eingabe vorgenommen hat.
  • Die AutoHeight-Eigenschaft legt fest, ob bei mehrzeiligen Textfeldern (MultiLine) die Höhe der TextBox bei gegebener Breite automatisch an den eingegebenen Text angepasst werden soll.

Das Steuerelement erlaubt die Verwendung folgender zusätzlicher Hotkeys (Tastenkombinationen), die in vielen Anwendungen bereits üblich sind:

  • Strg+A: Gesamte Eingabe markieren
  • Strg+U: Gesamte Eingabe löschen
  • Strg+W, Strg+Backspace: Letztes Wort vor dem Cursor löschen
  • Strg+Hoch: Bei mehrzeiligen Textfeldern eine Zeile nach oben blättern
  • Strg+Runter: Bei mehrzeiligen Textfeldern eine Zeile nach unten blättern

Compatibility: .NET Version 2.0 or newer

Download

ValidatingTextBox.cs14.8 KiBQuelltext des ValidatingTextBox-Steuerelements

Licence and terms of use

Copying and distribution of this file, with or without modification, are permitted provided the copyright notice and this notice are preserved. This file is offered as-is, without any warranty. (GNU All-Permissive licence)

Statistic data

  • Created on 2009-09-19, updated on 2011-08-29.
  • First used in ARLog: Amateur Radio Logbook.
  • Ca. 200 lines of code, estimated development costs: 200 - 800 €