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. |
---|---|---|---|---|
Oui |
Oui |
Non |
Non. |
|
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).
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.
Menu contextuel
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).
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
Editing Examiner, démonstration