Vue d'ensemble de TextBox

Mise à jour : novembre 2007

La classe TextBox vous permet d'afficher ou de modifier le texte non mis en forme. Une utilisation courante d'un TextBox est la modification de texte non formaté dans un formulaire. Par exemple, un formulaire qui demande le nom de l'utilisateur, le numéro de téléphone, etc. utiliserait des contrôles TextBox pour la saisie de texte. Cette rubrique présente la classe TextBox et fournit des exemples de la manière de l'utiliser en XAML (Extensible Application Markup Language) et C#.

Cette rubrique comprend les sections suivantes.

  • TextBox ou RichTextBox ?
  • Création de zones de texte
  • Détecter quand le contenu est modifié
  • Rubriques connexes

TextBox ou RichTextBox ?

TextBox et RichTextBox permettent tous deux aux utilisateurs d'entrer du texte mais les deux contrôles sont utilisés pour des scénarios différents. Une TextBox requiert moins de ressources système qu'une RichTextBox, ce qui est idéal lorsque seul du texte brut doit être modifié (c'est-à-dire utilisé dans un formulaire). Une RichTextBox est un meilleur choix lorsqu'il est nécessaire pour l'utilisateur de modifier du texte mis en forme, des images, des tables ou un autre contenu pris en charge. Par exemple, la modification d'un document, d'un article ou d'un blog qui nécessite une mise en forme, des images, etc. est mieux réalisée à l'aide de RichTextBox. La table suivante résume les fonctionnalités principales de TextBox et RichTextBox.

Contrôle

Vérification de l'orthographe en temps réel

Menu contextuel

Commandes de mise en forme telles que ToggleBold (Ctr+B)

Contenu FlowDocument comme des images, des paragraphes, des tableaux, etc.

TextBox

Oui

Oui

Non

Non.

RichTextBox

Oui

Oui

Oui (consulter Vue d'ensemble de RichTextBox)

Oui (consulter Vue d'ensemble de RichTextBox)

Remarque :

Bien que TextBox ne prenne pas en charge les commandes de modification relatives à la mise en forme telles que ToggleBold (Ctr+G), de nombreuses commandes de base sont prises en charge par les deux contrôles telles que MoveToLineEnd. Pour plus d'informations, consultez EditingCommands. De plus, consultez EditingCommands, exemple pour une démonstration des commandes de modification utilisées avec un TextBox.

Les fonctionnalités prises en charge par TextBox sont décrites dans les sections ci-dessous. Pour plus d'informations sur RichTextBox, consultez Vue d'ensemble de RichTextBox.

Vérification de l'orthographe en temps réel

Vous pouvez activer la vérification de l'orthographe en temps réel dans un TextBox ou un RichTextBox. Lorsque la vérification de l'orthographe est activée, une ligne rouge apparaît sous les mots mal orthographiés (voir l'image ci-dessous).

Textbox avec vérification orthographique

Consultez Comment : activer la vérification de l'orthographe dans un contrôle d'édition de texte pour savoir comment activer la vérification de l'orthographe.

Par défaut, TextBox et RichTextBox ont un menu contextuel qui apparaît lorsqu'un utilisateur clique avec le bouton droit à l'intérieur du contrôle. Le menu contextuel autorise l'utilisateur à couper, copier ou coller (voir l'image ci-dessous).

TextBox avec menu contextuel

Vous pouvez créer votre propre menu contextuel personnalisé pour remplacer le comportement par défaut. Pour plus d'informations, consultez Comment : utiliser un menu contextuel personnalisé avec un TextBox.

Création de zones de texte

Une TextBox peut être une ligne unique en hauteur ou comprendre plusieurs lignes. Un ligne de TextBox unique plus adaptée pour entrer de petites quantités de texte brut (c'est-à-dire « Nom », « Numéro de téléphone », etc. dans un formulaire). L'exemple suivant montre comment créer une ligne de TextBox unique.

<Page  xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml">
  <StackPanel>
    <TextBox Width="200" MaxLength="100" />
  </StackPanel>
</Page>

Vous pouvez également créer une TextBox qui permet à l'utilisateur d'entrer plusieurs lignes de texte. Par exemple, si votre formulaire demande une ébauche biographique de l'utilisateur, vous devriez utiliser une TextBox qui prend en charge plusieurs lignes de texte. L'exemple suivant indique comment utiliser XAML (Extensible Application Markup Language) pour définir un contrôle TextBox qui se développe automatiquement pour s'adapter à plusieurs lignes de texte.

<TextBox
  Name="tbMultiLine"
  TextWrapping="Wrap"
  AcceptsReturn="True"
  VerticalScrollBarVisibility="Visible"
>
  This TextBox will allow the user to enter multiple lines of text.  When the RETURN key is pressed, 
  or when typed text reaches the edge of the text box, a new line is automatically inserted.
</TextBox>

La définition de l'attribut TextWrapping à Wrap provoque le renvoi du texte à la ligne lorsque le bord du contrôle TextBox est atteint, et à étirer automatiquement la hauteur du contrôle TextBox pour faire de la place pour une nouvelle ligne, si nécessaire.

La définition de l'attribut AcceptsReturn à true provoque l'insertion d'une nouvelle ligne lors de l'appui sur la touche RETOUR, en étirant encore une fois automatiquement la hauteur du contrôle TextBox pour faire de la place pour une nouvelle ligne, si nécessaire.

L'attribut VerticalScrollBarVisibility ajoute une barre de défilement à la TextBox, afin que le contenu de la TextBox puisse être défilé si la TextBox se développe au delà de la taille de la trame ou fenêtre qui l'entoure.

Pour plus d'informations sur les différentes tâches associées à l'utilisation d'une TextBox, consultez Rubriques Comment relatives à TextBox.

Détecter quand le contenu est modifié

L'événement TextChanged doit être généralement utilisé pour détecter chaque fois que le texte d'un TextBox ou d'un RichTextBox est modifié, et non KeyDown comme vous pourriez vous y attendre. Pour obtenir un exemple, consultez Comment : détecter la modification du texte figurant dans un TextBox.

Voir aussi

Tâches

EditingCommands, exemple

Editing Examiner, démonstration

Bloc-notes, démonstration

Concepts

Vue d'ensemble de RichTextBox

Autres ressources

Rubriques Comment relatives à TextBox