2009-02-08 9 views
0

au début de mon application je désactive certains boutons et selon certaines conditions, ces boutons sont devenus activés. mon problème est quand l'utilisateur clique sur un bouton alors il fait mon action sa couleur devient grise et cela quand je la rend à nouveau désactivée. pour plus d'explications:un problème avec l'interface graphique en utilisant C#

button.Enabled = false;

si (Condition) {button.enabled = true; }

// utilisateur a cliqué sur le bouton

// faire la fonction de bouton

button.Enabled = false; // ici la couleur du bouton devient grise et je ne veux pas cette attitude je veux être activé où au début de l'application quand tous les boutons sont désactivés sa couleur est qiut simmilar à l'arrière-plan du bouton. Alors pourquoi cette couleur?

+0

j'ai toujours le même probelm où quand je clique sur le bouton de couleur est devenue gray..what i est fait quand je désactiver le bouton i définir sa propriété BackColor transparente et son backgroundImage l'image de mon bouton de defualt. mais il reste le même :(?!? – BDeveloper

Répondre

1

Je ne suis pas tout à fait sûr que je lis votre problème correctement, mais il me semble que peut-être vous voulez quelque chose comme ceci:

button.Enabled = Condition; // Initial value 


// user clicked on button 
button.Enabled= false; 
... do button's function ... 
button.Enabled = Condition 

Cela devrait restaurer la l'état du bouton comme avant le clic, simplement en le désactivant pendant le traitement.

0

Modifier la couleur après avoir désactivé le bouton

1

L'état désactivé de la plupart des contrôles Winform est largement corrigé par le jeu de contrôles Win32. Si vous ne l'aimez pas, alors:

  • ne le font pas en fait désactiver - il suffit de changer la couleur manuellement, désactivez tab-stops, et ignorer les clics alors qu'il est « un peu handicapé »
  • utilisation WPF, qui a une mise en œuvre complètement séparée et ne souffre pas de racines Win32
  • écrire votre propre bouton de commande à partir de zéro (ne pas toucher le Win32 un)
  • utiliser un bouton 3e partie contrôle
+0

Avez-vous besoin d'écrire un bouton à partir de zéro? Ce n'est pas trop de travail à hériter de la classe Button du système pour personnaliser le comportement de rendu. Toujours afficher une info-bulle pour expliquer pourquoi elle est désactivée. –

Questions connexes