Gewusst wie: Steuern der Einfügemarke in einem TextBox-Steuerelement in Windows Forms

Wenn ein TextBox-Steuerelement in Windows Forms den Fokus zuerst erhält, werden Einfügungen im Textfeld standardmäßig links neben bereits vorhandenem Text vorgenommen. Die Einfügemarke kann vom Benutzer mithilfe der Tastatur oder der Maus verschoben werden. Wenn das Textfeld den Fokus verliert und anschließend wieder erhält, befindet sich die Einfügemarke an der Stelle, an der sie zuletzt vom Benutzer positioniert wurde.

Gelegentlich wirkt dieses Verhalten irritierend auf Benutzer. In einem Textverarbeitungsprogramm würde der Benutzer z. B. erwarten, dass neue Zeichen hinter bereits vorhandenem Text eingefügt werden. In einem Datenerfassungsprogramm könnte der Benutzer wiederum davon ausgehen, dass bestehende Einträge durch neue Zeichen ersetzt werden. Mithilfe der SelectionStart-Eigenschaft und der SelectionLength-Eigenschaft können Sie das Verhalten Ihren Anforderungen entsprechend anpassen.

So steuern Sie die Einfügemarke in einem TextBox-Steuerelement

  1. Legen Sie für die SelectionStart-Eigenschaft einen geeigneten Wert fest. Durch den Wert 0 wird die Einfügemarke links vom ersten Zeichen positioniert.

  2. (Optional) Legen Sie die SelectionLength-Eigenschaft auf die Länge des zu markierenden Textes fest.

    Durch den folgenden Code wird die Einfügemarke stets auf 0 (null) zurückgesetzt. Der TextBox1_Enter-Ereignishandler muss an das Steuerelement gebunden werden. Weitere Informationen finden Sie unter Erstellen von Ereignishandlern in Windows Forms.

    Private Sub TextBox1_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.Enter
       TextBox1.SelectionStart = 0
       TextBox1.SelectionLength = 0
    End Sub
    
    private void textBox1_Enter(Object sender, System.EventArgs e) {
       textBox1.SelectionStart = 0;
       textBox1.SelectionLength = 0;
    }
    
    private void textBox1_Enter(Object sender, System.EventArgs e) 
    {
       textBox1.set_SelectionStart(0);
       textBox1.set_SelectionLength(0);
    }
    
    private:
       void textBox1_Enter(System::Object ^  sender,
          System::EventArgs ^  e)
       {
          textBox1->SelectionStart = 0;
          textBox1->SelectionLength = 0;
       }
    

Standardmäßiges Anzeigen der Einfügemarke

Die TextBox-Einfügemarke ist in einem neuen Formular standardmäßig nur dann sichtbar, wenn sich das TextBox-Steuerelement in der Aktivierreihenfolge an erster Stelle befindet. Andernfalls wird die Einfügemarke nur angezeigt, wenn TextBox entweder über die Tastatur oder die Maus den Fokus erhält.

So wird die Einfügemarke des Textfelds standardmäßig in einem neuen Formular angezeigt

  • Legen Sie die TabIndex-Eigenschaft des TextBox-Steuerelements auf 0 fest.

Siehe auch

Aufgaben

Gewusst wie: Erstellen eines Kennwort-Textfelds mit dem TextBox-Steuerelement in Windows Forms

Gewusst wie: Erstellen eines schreibgeschützten Textfelds (Windows Forms)

Gewusst wie: Setzen von Anführungszeichen in Zeichenfolgen (Windows Forms)

Gewusst wie: Programmgesteuertes Auswählen von Text im TextBox-Steuerelement in Windows Forms

Gewusst wie: Anzeigen mehrerer Zeilen im TextBox-Steuerelement in Windows Forms

Referenz

Übersicht über das TextBox-Steuerelement (Windows Forms)

TextBox

Weitere Ressourcen

TextBox-Steuerelement (Windows Forms)