Comment : sélectionner du texte dans le contrôle TextBox Windows Forms

Vous pouvez sélectionner du texte par programmation dans le contrôle TextBox Windows Forms. Par exemple, si vous créez une fonction qui recherche du texte pour une chaîne particulière, vous pouvez sélectionner le texte afin d'alerter visuellement le lecteur de la position de la chaîne trouvée.

Pour sélectionner du texte par programmation

  1. Définissez la propriété SelectionStart au début du texte que vous souhaitez sélectionner.

    La propriété SelectionStart est un nombre qui indique le point d'insertion dans la chaîne de texte, 0 étant la position la plus à gauche. Si la propriété SelectionStart a une valeur égale ou supérieure au nombre de caractères dans la zone de texte, le point d'insertion est placé après le dernier caractère.

  2. Affectez à la propriété SelectionLength la longueur du texte que vous souhaitez sélectionner.

    La propriété SelectionLength est une valeur numérique qui définit la largeur du point d'insertion. Le fait d'affecter à la propriété SelectionLength un nombre supérieur à 0 a pour conséquence la sélection de ce nombre de caractères, à partir du point d'insertion actuel.

  3. (Facultatif) Accédez au texte sélectionné par l'intermédiaire de la propriété SelectedText.

    Le code ci-dessous sélectionne le contenu d'une zone de texte lorsque l'événement Enter du contrôle survient. Cet exemple permet de vérifier si la zone de texte comporte une valeur pour la propriété Text qui n'est pas null et ne correspond pas à une chaîne vide. Lorsque la zone de texte reçoit le focus, le texte actuel de cette dernière est sélectionné. Le gestionnaire d'événements TextBox1_Enter doit être lié au contrôle ; pour plus d'informations, consultez Comment : créer des gestionnaires d'événements pour les Windows Forms au moment de l'exécution.

    Pour tester cet exemple, appuyez sur la touche Tab jusqu'à ce que la zone de texte ait le focus. Si vous cliquez dans la zone de texte, le texte est désélectionné.

    Private Sub TextBox1_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.Enter
       If (Not String.IsNullOrEmpty(TextBox1.Text)) Then
          TextBox1.SelectionStart = 0
          TextBox1.SelectionLength = TextBox1.Text.Length
       End If
    End Sub
    
    private void textBox1_Enter(object sender, System.EventArgs e){
       if (!String.IsNullOrEmpty(textBox1.Text))
       {
          textBox1.SelectionStart = 0;
          textBox1.SelectionLength = textBox1.Text.Length;
       }
    }
    
    private void textBox1_Enter(Object sender, System.EventArgs e) 
    {
    ...if (String.IsNullOrEmpty(textBox1.get_Text())) 
       {
       textBox1.set_SelectionStart(0);
       textBox1.set_SelectionLength(textBox1.get_Text().get_Length());
       }
    }
    
    private:
       void textBox1_Enter(System::Object ^ sender,
          System::EventArgs ^ e) {
       if (!System::String::IsNullOrEmpty(textBox1->Text))
       {
          textBox1->SelectionStart = 0;
          textBox1->SelectionLength = textBox1->Text->Length;
       }
    }
    

Voir aussi

Tâches

Comment : contrôler le point d'insertion dans un contrôle TextBox Windows Forms

Comment : créer une zone de texte pour mot de passe avec le contrôle TextBox Windows Forms

Comment : créer une zone de texte en lecture seule (Windows Forms)

Comment : insérer des guillemets dans une chaîne (Windows Forms)

Comment : afficher des lignes multiples dans le contrôle TextBox Windows Forms

Référence

Vue d'ensemble du contrôle TextBox (Windows Forms)

TextBox

Autres ressources

TextBox, contrôle (Windows Forms)