# Textfeld

Ein Textfeld oder eine Textbox, vereinfachend auch ein Eingabefeld, ist ein Steuerelement einer grafischen Benutzeroberfläche, das Tastatureingaben oder Programmausgaben in Form einer Zeichenkette aufnehmen und darstellen kann. Es dient zur Eingabe im Sinne eines Computerprogramms. Eine Zusammenstellung mehrerer Textfelder und/oder anderer Steuerelemente wird auch als Eingabemaske oder Bildschirmmaske bezeichnet. Bezogen auf einen größeren Kontext kann sie als eigenständige/s Komponente/Element angesehen werden.
Textfelder werden vor allem in Dialogfenstern, Webformularen, sowie in Anwendungsprogrammen zur Interaktion mit dem Benutzer eingesetzt.
Die Basisimplementierung in HTML ist input. Diese Methode steuert aber auch andere Eingabefelder wie Schaltflächen (Buttons), Checkboxen (Kontrollkästchen) und Radiobuttons (Optionsschalter). Diese Typen bilden zusammen die elementaren Eingabeelemente in HTML, wie sie seit den 1990er Jahren allgemeine Verbreitung finden. Ihre Entwicklung reicht in die frühen 1980er Jahre zurück, als erste Betriebssysteme und Anwendungen mit grafischer Benutzeroberfläche etabliert wurden.
Heute verbreitet ist die automatische Textergänzung während des Eintippens (Autovervollständigung) für Textfelder. Auch Autokorrektur-Mechanismen sind möglich.

## Spezielle Verwendung und Varianten

* Im Kontext von elektronischen Suchanfragen, also an elektronische Datenverarbeitungsanlagen, Datenbanken oder Suchmaschinen gerichtete Aufträge zur Durchsuchung des jeweiligen Datenbestands nach spezifischen Suchbegriffen oder Suchmasken, spricht man auch von einem Suchfeld oder – insbesondere bei mehreren Eingabefeldern – einer Suchmaske. Ein Suchfeld bzw. eine Suchmaske kann Teil einer Suchleiste sein.
* Bei einem Passwortfeld wird die eingetippte Zeichenkette bewusst nicht lesbar dargestellt. Jedes eingetippte Zeichen wird einheitlich durch ein neutrales Zeichen, wie beispielsweise einem Sternchen (*) oder einem Mittelpunkt (●), ersetzt.
* Ein Datumsfeld erlaubt die Eingabe eines Zeitpunkts in einem vorgegebenen Datums- und Zeitformat. Oft wird es mit einem aufklappbaren Kalendersteuerelement kombiniert (Drop-Down-Kalender), um dem Benutzer die Eingabe zu erleichtern.
* Ein Nummernfeld nimmt nur Zahlenwerte (Ziffern und ggf. Dezimaltrennzeichen und/oder Minuszeichen auf der Tastatur) entgegen. Oft wird es mit einem Drehfeld kombiniert. Dabei handelt es sich um zwei kleine Schaltflächen zur Inkrementierung und Dekrementierung des Wertes.
* In vielen Komponentenframeworks existieren maskierte Eingabefelder (englisch masked edit), die für den Eingabebereich eine feste Struktur (Maske) vorgeben und abhängig von der Cursor-Position nur die Eingabe bestimmter Zeichen erlauben. Ein Beispiel dafür sind Eingabefelder für Lizenzschlüssel.
* In den meisten Programmiersprachen und Entwicklungsumgebungen wird zwischen ein- und mehrzeiligen Textfeldern unterschieden. Für mehrzeilige Textfelder stehen teilweise besondere Steuerelemente zur Verfügung, die beispielsweise Textarea (etwa in HTML oder Java) oder Memofeld genannt werden (zum Beispiel in Microsoft Office oder Delphi).
* Bei Texteditoren ist ein Textfeld für eine Editbox möglich; sie ist eine Alternative zum Editieren direkt im angezeigten Text. So verwendet beispielsweise die Wikipedia ein System mit getrennter Vorschau und Bearbeitungsfeld (Editor der Basissoftware). Da die Wikimedia-Software textbasiert ist, ist das Bearbeitungsfeld ein reines Textfeld für den Quellcode; der moderne Visual Editor ist hingegen ein WYSIWYG-Editor mit Direkteingabe in die Darstellung.
Eine neuere Form von Eingabefeld stellt die artverwandte Combobox dar, in der ein Textfeld mit anderen Eingabemethoden kombiniert wird, etwa einer Auswahlliste voreingestellter oder zuvor eingegebener Zeichenketten.

## Beispiele
### C#

Das folgende Beispiel in der Programmiersprache C# zeigt die Implementierung eines Textfelds und eines Buttons mit einer Combobox. Die Ereignisbehandlungsroutine des Buttons setzt einen Text in die Textbox (siehe Ereignis).