Cette documentation est archivée et n’est pas conservée.

TextBox, classe

Mise à jour : novembre 2007

Représente un contrôle qui peut être utilisé pour afficher ou modifier du texte non mis en forme.

Espace de noms :  System.Windows.Controls
Assembly :  PresentationFramework (dans PresentationFramework.dll)
XMLNS pour XAML : http://schemas.microsoft.com/winfx/xaml/presentation

[ContentPropertyAttribute("Text")]
[LocalizabilityAttribute(LocalizationCategory.Text)]
public class TextBox : TextBoxBase, IAddChild
/** @attribute ContentPropertyAttribute("Text") */
/** @attribute LocalizabilityAttribute(LocalizationCategory.Text) */
public class TextBox extends TextBoxBase implements IAddChild
public class TextBox extends TextBoxBase implements IAddChild

Modèle de contenu : une TextBox peut contenir uniquement du texte non mis en forme. Pour plus d'informations, consultez Vue d'ensemble du modèle de contenu de zone de texte.

L'image suivante affiche l'exemple d'une TextBox.

Exemple d'une zone de texte

Capture d'écran : TextBox

TextBox est un contrôle composite composé de plusieurs composants encapsulés. Par conséquent, certains événements ne se propagent pas au contrôle conteneur parce qu'ils sont gérés par les éléments enfants encapsulés. Pour cette raison, les développeurs d'applications doivent être à l'écoute de la version tunneling d'un événement (dénotée par le préfixe « Preview » [Aperçu]).

TextBox prend uniquement en charge le texte non mis en forme. Pour les applications qui requièrent la prise en charge de plus riche, consultez RichTextBox. Pour les applications qui doivent accepter des mots de passe ou autre entrée sensible, consultez PasswordBox.

L'alignement horizontal et vertical de texte dans un TextBox est effectué à l'aide des propriétés HorizontalContentAlignment et VerticalContentAlignment. L'alignement du TextBox dans la disposition de la page est effectué à l'aide des propriétés HorizontalAlignment et VerticalAlignment.

La meilleure façon de masquer la bordure autour d'une TextBox est d'affecter la valeur 0 à la propriété BorderThickness de la TextBox.

Remarque importante :

TextBox possède une gestion intégrée des événements de propagationMouseUp et MouseDown. Par conséquent, les gestionnaires d'événements personnalisés qui restent à l'écoute d'événements MouseUp ou MouseDown d'une TextBox ne seront pas appelés. Si vous devez répondre à ces événements, restez plutôt à l'écoute des événements de tunnelingPreviewMouseUp et PreviewMouseDown ou enregistrez les gestionnaires avec l'argument HandledEventsToo (cette dernière option n'est disponible que par l'intermédiaire du code). Ne marquez pas l'événement géré à moins que vous ne souhaitiez délibérément désactiver la prise en charge native TextBox de ces événements ; notez que cette opération a d'importants effets sur l'interface utilisateur du contrôle.

Par défaut, les barres de défilement ne sont pas visibles dans une TextBox. Pour les rendre visibles, affectez la valeur Visible ou la valeur Auto aux propriétés VerticalScrollBarVisibility et HorizontalScrollBarVisibility.

Habituellement, l'événement TextChanged doit être utilisé pour détecter chaque fois que le texte d'une TextBox ou d'une RichTextBox est modifié plutôt que KeyDown auquel vous pourriez vous attendre. Pour obtenir un exemple, consultez Comment : détecter la modification du texte figurant dans un TextBox.

Cet exemple montre une méthode pour utiliser la propriété SelectedText pour récupérer du texte sélectionné par l'utilisateur dans un contrôle TextBox.

L'exemple XAML (Extensible Application Markup Language) suivant montre la définition d'un contrôle TextBox qui contient du texte à sélectionner, et un contrôle Button associé à une méthode OnClick spécifiée.

Dans cet exemple, un bouton avec un gestionnaire d'événements Click associé est utilisé pour récupérer la sélection de texte. Lorsque l'utilisateur clique sur le bouton, la méthode OnClick copie le texte sélectionné de la zone de texte dans une chaîne. Les cas particuliers dans lesquels la sélection de texte est récupérée (en cliquant sur un bouton), ainsi que l'action effectuée avec cette sélection (copie de la sélection de texte dans une chaîne), peuvent être facilement modifiés pour s'adapter à une grande variété de scénarios.

<TextBox Name="tbSelectSomeText">
  Some text to select...
</TextBox>

<Button Click="OnClick">Retrieve Selection</Button>


L'exemple C# suivant montre un gestionnaire d'événements OnClick pour le bouton défini en XAML pour cet exemple.

void OnClick(object sender, RoutedEventArgs e)
{
    String sSelectedText = tbSelectSomeText.SelectedText;
}


Davantage de code

Comment : définir le texte d'un contrôle TextBoxCet exemple montre comment utiliser la propriété Text pour définir le texte initial d'un contrôle TextBox.
Comment : définir le focus dans un contrôle TextBoxCet exemple montre comment utiliser la méthode Focus pour définir le focus sur un contrôle TextBox.
Comment : détecter la modification du texte figurant dans un TextBoxCet exemple illustre une façon d'utiliser l'événement TextChanged pour exécuter une méthode lorsque le texte d'un contrôle TextBox change.
Comment : positionner le curseur au début ou à la fin du texte dans un contrôle TextBoxCet exemple indique comment positionner le curseur au début ou à la fin du contenu texte d'un contrôle TextBox.
Comment : utiliser un menu contextuel personnalisé avec un TextBoxCet exemple montre comment définir et implémenter un menu contextuel personnalisé simple pour un contrôle TextBox.
Comment : faciliter l'utilisation d'un TextBox à l'aide d'une image d'arrière-planL'exemple suivant indique comment faciliter l'utilisation d'un TextBox en affichant une image d'arrière-plan explicative dans le TextBox jusqu'à ce que l'utilisateur entre du texte, après quoi l'image est supprimée. De plus, l'image d'arrière-plan est restaurée si l'utilisateur supprime son entrée. Voyez l'illustration ci-dessous.

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Windows Vista

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

.NET Framework

Pris en charge dans : 3.5, 3.0
Afficher: