2009-05-17 9 views
1

J'ai un TextBox sur un formulaire que j'utilise pour simplement afficher des données. Je l'ai mis à ReadOnly qui empêche l'utilisateur de modifier les données affichées dans le TextBox. Bien que l'utilisateur puisse toujours mettre en évidence les données dans le TextBox, comment puis-je désactiver cela? REMARQUE: Je sais que l'utilisation d'une étiquette serait beaucoup plus facile, bien que, pour une raison quelconque, l'étiquette ne permette pas d'afficher les données comme je le souhaite. Je veux afficher un nombre commençant par la droite de la zone d'affichage, IE: "25", bien que l'étiquette l'affiche comme "25". J'ai essayé de faire l'étiquette juste-justifiée cela ne résout pas le problème. Par conséquent j'utilise un TextBox.Comment faire un TextBox non interactif en C#

Répondre

2

Vous pouvez afficher le texte aligné à droite dans l'étiquette en définissant la propriété TextAlign à, par exemple MiddleRight. N'oubliez pas de définir la propriété AutoSize sur false, sinon elle redimensionnera l'étiquette et la position changera vers la gauche.

+0

Merci à vous deux! Définir AutoSize sur false ainsi que RightToLeft sur true a résolu mon problème! –

3
TextBox1.Enabled = false; 

Vous pouvez également utiliser l'étiquette avec la propriété rightToLeft définie sur True

+0

Je ne veux pas définir la propriété Enabled sur false car le texte sera gris. J'ai juste essayé la propriété RightToLeft, et cela n'a fait aucune différence. –

+0

Vous pouvez modifier la couleur du texte après avoir désactivé la zone de texte. – Ikke

0

Ceci est juste un simple code C# et je viens de l'écrire pour désactiver certains de mes champs de texte et bouton. Mais, vous pouvez le modifier selon vos besoins: pour déplacer la propriété active du formulaire à un autre contrôle


TextBox[] tbArray = new TextBox[] 
{ 
    custid,custname , field, email, phone, address 
}; 
for (int i = 0; i < tbArray.Length; i++) 
{ 
    if (status.SelectedIndex == 1) 
    { 
     tbArray[i].Enabled = false; 
     savecust.Enabled = false; 
     deletecust.Enabled = false; 
    } 
    else 
    { 
     tbArray[i].Enabled = true; 
     savecust.Enabled = true; 
     deletecust.Enabled = true; 
    } 
} 

1

Vous pouvez modifier un gestionnaire d'événements (par exemple, sur l'action Entrée).

Questions connexes