Rendre la zone de texte non modifiable
Je veux faire des TextBox
es sur mon formulaire uneditable, mais je veux que le text
soit clair (noir pas gris) et c'est pourquoi je ne veux pas utiliser
myTextBox.Enabled = false;
D'une manière ou d'une autre, je veux qu'il soit désactivé mais avec une couleur antérieure non grise.
Quelqu'un a une idée?
6 réponses
En utilisant le TextBox.ReadOnly
propriété
TextBox.ReadOnly = true;
Pour un fond Non Gris, vous pouvezTextBox.BackColor
propriété à SystemColors.Window
Couleur
textBox.BackColor = System.Drawing.SystemColors.Window;
Lorsque cette propriété est définie sur true, le contenu du contrôle ne être modifié par l'utilisateur lors de l'exécution. Avec cette propriété définie sur true, vous peut toujours définir la valeur de la propriété Text dans le code. Vous pouvez utiliser cette au lieu de désactiver le contrôle avec la propriété activée pour autoriser le contenu à être copié et Des info-bulles pour être montré.
Utilisez la propriétéReadOnly dans la zone de texte.
myTextBox.ReadOnly = true;
Mais Rappelez-Vous: TextBoxBase.Propriété ReadOnly
Lorsque cette propriété est définie sur true, le contenu du contrôle ne peut pas être modifié par l'utilisateur lors de l'exécution. Avec cette propriété définie sur true, vous pouvez toujours définir la valeur de la propriété Text dans le code . Vous pouvez utiliser cette fonctionnalité au lieu de désactiver le contrôle avec le Enabled propriété pour permettre le contenu à être copié et Des info-bulles pour être illustré.
, Vous pouvez essayer d'utiliser:
textBox.ReadOnly = true;
textBox.BackColor = System.Drawing.SystemColors.Window;
La dernière ligne n'est nécessaire que si vous voulez une couleur de fond Non grise.
Si vous voulez que votre TextBox
non modifiable, vous devriez faire ReadOnly.
Juste en XAML:
<TextBox IsReadOnly="True" Style="{x:Null}" />
Afin que le texte ne soit pas grisé.
Si vous voulez le faire en utilisant XAML, définissez la propriété isReadOnly
sur true
.