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.

Tastatureingabe in ein Textfeld (Animation)
Einfaches Dialogfenster mit Beschriftungsfeld, Textfeld (Wert markiert) und zwei Schaltflächen. Beim Drücken auf „OK“ erfolgt die eigentliche Eingabe im Sinne eines Computerprogramms.

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.[1] 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

Bearbeiten
  • 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.[2]

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

Bearbeiten

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).[3]

using System.Windows.Forms;

public class MainForm : System.Windows.Forms.Form
{
	private TextBox exampleTextBox;
	private Button exampleButton;
	
	// Konstruktor des MainForms.
	public MainForm()
	{
		InitializeTextBoxAndButton();
	}
	
	// Startet die Anwendung und erzeugt das MainForm durch Aufruf des Konstruktors.
    public static void Main()
    {
        Application.Run(new MainForm());
    }
	
	// Initialisiert das Textfeld und den Button.
	private void InitializeTextBoxAndButton()
	{
		exampleTextBox = new System.Windows.Forms.TextBox();
		exampleTextBox.Location = new System.Drawing.Point(50, 25);
		exampleTextBox.Size = new System.Drawing.Size(200, 100);
		exampleTextBox.AcceptsReturn = true;
		exampleTextBox.AcceptsTab = true;
		exampleTextBox.Multiline = true; // Legt fest, dass das Textfeld mehrere Zeilen haben kann und Zeilenumbrüche ermöglicht.
		exampleTextBox.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
		Controls.Add(exampleTextBox);
		
		exampleButton = new System.Windows.Forms.Button();
		exampleButton.Location = new System.Drawing.Point(50, 150);
		exampleButton.Size = new System.Drawing.Size(200, 25);
		exampleButton.Text = "Text in der Textbox ausgeben";
		Controls.Add(exampleButton);
		
		// Verknüpft die Ereignisbehandlungsmethode mit dem Klickereignis Click des Buttons.
		exampleButton.Click += exampleButton_Clicked;
	}
	
	// Diese Methode wird aufgerufen, wenn der Benutzer den Button klickt.
	private void exampleButton_Clicked(object sender, System.EventArgs e)
	{
		exampleTextBox.Text = "Hallo Leser!\r\nDer Button wurde geklickt."; // Setzt den 2-zeiligen Text in die Textbox.
	}
}
Bearbeiten

Einzelnachweise

Bearbeiten
  1. input. In: SELFHTML. Abgerufen am 7. Mai 2021.
  2. Siehe Hilfe:Seite bearbeiten, Wikipedia Hilfeseite.
  3. Microsoft Docs: TextBox Class
  NODES
Frameworks 1
os 3
text 51
visual 1
web 3