La couleur du texte de contrôle désactivé - comment le changer
Lors de la création de mon génial Jeu de Correspondance 😉 j'ai trouvé un problème qui est totalement hors de portée.
Lorsque le joueur choisit deux étiquettes avec des symboles sur eux, je veux verrouiller toutes les autres étiquettes pour les 4 secondes.
Mais quand je fais ça, la forecolor de toutes les étiquettes des changements de gris et les symboles sont visibles. Ma question est existe - il une méthode pour modifier la ForeColor
handicapé une étiquette dans visual c#?
Le projet est une application WinForm.
Au moment où j'ai mis la couleur de l'étiquette dans le code de cette façon:
label1.ForeColor = lable1.BackColor;
Lorsque l'utilisateur clique sur l'étiquette-je le modifier:
lable1.ForeColor = Color.Black;
Ce type de projet? WinForms, WPF, ASP.NET?
Comment êtes-vous définir la couleur du moment? Vous pouvez poster votre code?
Les étiquettes sont toujours "verrouillé", au moins dans le sens que les utilisateurs ne peuvent pas modifier leur texte ou autrement manipuler. Il n'y a pas besoin de les désactiver pour obtenir cet effet.
Comment êtes-vous définir la couleur du moment? Vous pouvez poster votre code?
Les étiquettes sont toujours "verrouillé", au moins dans le sens que les utilisateurs ne peuvent pas modifier leur texte ou autrement manipuler. Il n'y a pas besoin de les désactiver pour obtenir cet effet.
OriginalL'auteur Mqati | 2011-05-14
Vous devez vous connecter pour publier un commentaire.
Façon plus simple que d'essayer de modifier la façon dont Windows attire désactivé des contrôles est tout simplement de définir un indicateur lorsque vous souhaitez que le
Label
pour être efficace "désactivé", puis vérifiez la valeur de cet indicateur dans votreClick
méthode de gestionnaire d'événement avant de prendre toute action que vous voulez. Si le contrôle a été "désactivé", puis ne pas prendre toute action.Quelque chose comme ceci:
Aussi, notez que vous devez toujours utiliser le
SystemColors
au lieu de quelque chose commeColor.Black
.Si vous-code couleur spécifique de valeurs, ils sont souvent en conflit lorsque l'utilisateur personnalise par défaut de Windows thème. Raymond Chen explique les dangers de cette dans un article sur son blog.
Juste un commentaire sur le "toujours utiliser SystemColors" les conseils, je dirais, il convient de toujours ou jamais - comme dans, coder en dur toutes les couleurs pour tout ou aucun d'eux. Parfois, vous voulez contrôler l'apparence des choses vous-même au lieu d'être esclave d'un thème Windows. Mais ne mélangez pas, c'est quand vous obtenez des choses contradictoires.
Oui, certainement, c'est un "tout ou rien" de l'affaire. Mais je prends problème avec votre "esclave de la Windows thème" le phrasé. Il aide si vous pensez à elle comme "l'esclave de tes préférences de l'utilisateur." Une plutôt bonne idée.
OriginalL'auteur Cody Gray
Il suffit de créer votre propre étiquette avec une nouvelle définition de l'événement de peinture:
Être prudent avec le format de texte drapeaux lors de texte dessin.
OriginalL'auteur Allender