Rendre la zone de texte non modifiable

Je veux faire des TextBoxes 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?

53
demandé sur Mahdi Tahsildari 2013-01-30 10:34:20

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é.

88
répondu PaRiMaL RaJ 2015-01-17 04:35:46

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é.

12
répondu Habib 2013-01-30 06:36:13

, 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.

5
répondu Alina B. 2013-01-30 06:40:54

Si vous voulez que votre TextBox non modifiable, vous devriez faire ReadOnly.

3
répondu Marius Bancila 2013-01-30 06:38:10

Juste en XAML:

        <TextBox IsReadOnly="True" Style="{x:Null}" />

Afin que le texte ne soit pas grisé.

2
répondu Jan Abramek 2017-04-03 11:37:06

Si vous voulez le faire en utilisant XAML, définissez la propriété isReadOnly sur true.

1
répondu A. Wolf 2016-12-13 23:22:26