Freigeben über


Vorgehensweise: 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 der Benutzer sie zuletzt platziert hat.

In einigen Fällen kann dieses Verhalten für den Benutzer verwirrend sein. In einer Textverarbeitungsanwendung erwartet der Benutzer möglicherweise neue Zeichen nach einem vorhandenen Text. In einer Dateneingabeanwendung erwartet der Benutzer möglicherweise neue Zeichen, die vorhandenen Text ersetzen. Mit den Eigenschaften SelectionStart und SelectionLength können Sie das Verhalten an Ihre Anforderungen anpassen.

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

  1. Legen Sie für die SelectionStart-Eigenschaft einen geeigneten Wert fest. Mi 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 Ereignishandler TextBox1_Enter 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(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.

Weitere Informationen