Vue d’ensemble de TextBox
La classe TextBox vous permet d’afficher ou de modifier du texte non mis en forme. Une utilisation courante d’un TextBox modifie le texte non mis en forme dans un formulaire. Par exemple, un formulaire demandant le nom de l’utilisateur, le numéro de téléphone, etc. utilise TextBox contrôles pour l’entrée de texte. Cette rubrique présente la classe TextBox et fournit des exemples d’utilisation dans XAML (Extensible Application Markup Language) et C#.
TextBox ou RichTextBox ?
Les deux TextBox et RichTextBox permettent aux utilisateurs d’entrer du texte, mais les deux contrôles sont utilisés pour différents scénarios. Une TextBox nécessite moins de ressources système qu'un RichTextBox, donc est idéale lorsqu'uniquement le texte brut doit être modifié (par exemple dans un formulaire). Une RichTextBox est un meilleur choix quand il est nécessaire à l’utilisateur de modifier du texte, des images, des tableaux ou d’autres contenus 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 optimale à l’aide d’un RichTextBox. Le tableau ci-dessous récapitule les principales fonctionnalités de TextBox et de RichTextBox.
Contrôle | Vérification orthographique en temps réel | Menu contextuel | Commandes de mise en forme telles que ToggleBold (Ctr+B) | Contenu FlowDocument, tel que des images, des paragraphes, des tableaux, etc. |
---|---|---|---|---|
TextBox | Oui | Oui | Non | Non. |
RichTextBox | Oui | Oui | Oui (voir Vue d’ensemble de RichTextBox) | Oui (voir Vue d’ensemble de RichTextBox) |
Remarque
Bien que TextBox ne prend pas en charge la mise en forme des commandes d’édition associées comme ToggleBold (Ctr+B), de nombreuses commandes de base sont prises en charge par les deux contrôles tels que MoveToLineEnd. Pour plus d’informations, consultez EditingCommands.
Les fonctionnalités prises en charge par TextBox sont abordées dans les sections ci-dessous. Pour plus d’informations sur RichTextBox, consultez Vue d’ensemble de RichTextBox.
Vérification orthographique en temps réel
Vous pouvez activer la vérification orthographique en temps réel dans un TextBox ou RichTextBox. Lorsque la vérification orthographique est activée, une ligne rouge apparaît sous les mots mal orthographiés (voir l’image ci-dessous).
Consultez Activer la vérification orthographique dans un contrôle d’édition de texte pour savoir comment activer la vérification orthographique.
Menu contextuel
Par défaut, TextBox et RichTextBox disposent d’un menu contextuel qui s’affiche lorsqu’un utilisateur clique avec le bouton droit dans le contrôle. Le menu contextuel permet à l’utilisateur de 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 Utiliser un menu contextuel personnalisé avec une zone de texte.
Création de zones de texte
Une TextBox peut être une seule ligne en hauteur ou comporter plusieurs lignes. Une seule ligne TextBox est idéale pour placer de petites quantités de texte brut (par exemple, « Nom », « Numéro de téléphone », etc. dans un formulaire). L’exemple suivant montre comment créer une ligne unique TextBox.
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://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 a demandé un croquis biographique de l’utilisateur, vous souhaitez utiliser un TextBox qui prend en charge plusieurs lignes de texte. L’exemple suivant montre comment utiliser XAML (Extensible Application Markup Language) pour définir un contrôle TextBox qui s’étend automatiquement pour prendre en charge 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>
Si nécessaire, la définition de l’attribut TextWrapping sur Wrap
entraîne l’encapsulage du texte vers une nouvelle ligne lorsque le bord du contrôle TextBox est atteint, en développant automatiquement le contrôle TextBox pour inclure la place d’une nouvelle ligne.
La définition de l’attribut AcceptsReturn sur true
entraîne l’insertion d’une nouvelle ligne lorsque la touche RETOUR est enfoncée, une fois de plus, le développement automatique de la TextBox pour inclure de la place pour une nouvelle ligne, si nécessaire.
L’attribut VerticalScrollBarVisibility ajoute une barre de défilement à l'TextBox, afin que le contenu de l'TextBox puisse être parcouru si le TextBox s’étend au-delà de la taille du cadre ou de la fenêtre qui l’entoure.
Pour plus d’informations sur les différentes tâches associées à l’utilisation d’un TextBox, consultez les Rubriques de guide pratique.
Détecter quand le contenu change
En règle générale, l’événement TextChanged doit être utilisé pour détecter chaque fois que le texte d’un TextBox ou d’un RichTextBox change, plutôt que KeyDown comme on pourrait s'y attendre. Pour obtenir un exemple, consultez Détecter la modification du texte figurant dans un TextBox.
Voir aussi
- Sujets pratiques
- Vue d’ensemble de RichTextBox
.NET Desktop feedback