Freigeben über


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

Wenn ein Windows Forms-Steuerelement vom Typ TextBox zum ersten Mal den Fokus erhält, befindet sich die Standardeinfügemarke im Textfeld links neben vorhandenem Text. Der Benutzer kann die Einfügemarke mit der Tastatur oder der Maus verschieben. Wenn das Textfeld den Fokus verliert und dann erneut erhält, wird die Einfügemarke dort eingefügt, wo die benutzende Person sie zuletzt platziert hat.

In einigen Fällen kann dieses Verhalten für den Benutzer beunruhigend sein. In einer Textverarbeitungsanwendung erwartet der Benutzer möglicherweise, dass nach vorhandenem Text neue Zeichen angezeigt werden. In einer Dateneingabeanwendung erwartet der Benutzer möglicherweise, dass neue Zeichen einen vorhandenen Eintrag ersetzen. Mit den eigenschaften SelectionStart und SelectionLength können Sie das Verhalten entsprechend Ihrem Zweck ändern.

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

  1. Legen Sie die eigenschaft SelectionStart auf einen geeigneten Wert fest. Mit 0 (null) wird die Einfügemarke unmittelbar links neben dem ersten Zeichen platziert.

  2. (Optional) Legen Sie die Eigenschaft SelectionLength auf die Länge des Texts fest, den Sie auswählen möchten.

    Der folgende Code setzt die Einfügemarke immer auf 0 zurück. Der TextBox1_Enter-Ereignishandler muss an das Steuerelement gebunden sein; 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(System::Object ^  sender,
          System::EventArgs ^  e)
       {
          textBox1->SelectionStart = 0;
          textBox1->SelectionLength = 0;
       }
    

Festlegen der standardmäßigen Sichtbarkeit der Einfügemarke

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

So machen Sie die Einfügemarke für das Textfeld in einem neuen Formular standardmäßig sichtbar

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

Siehe auch