Changer la couleur de fond d'un DateTimePicker .NET
Dans .NET
(au moins dans la version 2008, et peut-être en 2005), la modification de la BackColor
propriété d'un DateTimePicker
n'a absolument aucun effet sur l'apparence. Comment puis-je changer la couleur d'arrière-plan de la zone de texte, pas de le calendrier déroulant?
Edit: je parlais de Windows forms, pas ASP.
OriginalL'auteur Daniel H | 2008-10-13
Vous devez vous connecter pour publier un commentaire.
Selon MSDN :
Vous avez besoin d'écrire un contrôle personnalisé qui s'étend
DateTimePicker
. Remplacer leBackColor
propriété et leWndProc
méthode.Chaque fois que vous modifiez le
BackColor
, n'oubliez pas d'appeler lamyDTPicker.Invalidate()
méthode. Cela forcera le contrôle redessiné avec la nouvelle couleur spécifiée.Merci pour ce post. Je suis de dessin personnalisé un contrôle DateTimePicker et cela m'a mis dans la bonne direction.
J'ai essayé ce changement sous Vista (avec et sans les styles visuels) et il ne fonctionne pas.
Même expérience que Phil Wright sous Win 7
avez-vous essayer d'appeler myDTPicker.Invalidate() après le réglage de la couleur d'arrière-plan?
OriginalL'auteur Vivek
Il y a une mise en œuvre dérivée à partir de
DateTimePicker
qui vous permet de modifierBackColor
bien sur changer.Voir le CodeProject site web:
DateTimePicker
avecBackColor
OriginalL'auteur Gustavo
pour la zone de texte, vous auriez le faire sur la zone de texte que vous ajoutez le répéteur sur
pour c# vous serait de faire comme ceci:
OriginalL'auteur Josh Mein
Sur cette base CodeProject: Un DateTimePicker avec le travail BackColor (comme affiché ci-dessus), j'ai réécrit une coutume datepicker classe (dans VB.NET) qui permet la personnalisation de la couleur d'arrière-plan, la TextColor et la petite Image qui apparaît à côté du bouton de la liste déroulante.
Par exemple.1:
Par exemple.2:
Pour le faire fonctionner il suffit de créer une nouvelle classe dans votre projet avec le code suivant et de Reconstruire la Solution.
Un nouveau contrôle appelé
MyDateTimePicker
devrait maintenant apparaître dans la boîte à outils de la liste:*Notez que cette classe est simplifiée, de sorte qu'il a limité les fonctionnalités
OriginalL'auteur Carlos Borau