Changer la couleur d'arrière-plan de Winform ListView en-têtes
Comment pouvez-vous changer la couleur d'arrière-plan des en-Têtes d'un ListView?
vous aurez besoin de mettre en œuvre de dessin personnalisé en remplaçant la Peinture à l'événement.
substitution de la méthode de Peinture ne fait rien sur un ListView. Vous devez utiliser le OwnerDraw mécanisme @David l'a suggéré. Rappelez-vous juste que cela supprime tous les style de votre contrôle d'en-tête -- pas de point chaud, pas de tri des indicateurs, pas de gradient horizons.
substitution de la méthode de Peinture ne fait rien sur un ListView. Vous devez utiliser le OwnerDraw mécanisme @David l'a suggéré. Rappelez-vous juste que cela supprime tous les style de votre contrôle d'en-tête -- pas de point chaud, pas de tri des indicateurs, pas de gradient horizons.
OriginalL'auteur Alex | 2009-11-29
Vous devez vous connecter pour publier un commentaire.
Vous pouvez le faire en mettant l'OwnerDraw propriété de la vue liste pour vrai.
Ceci vous permet alors de fournir des gestionnaires d'événement pour la liste de tirage de événements.
Il y a un exemple détaillé sur MSDN
Ci-dessous est un exemple de code pour définir l'en-tête de couleur rouge:
Je pense (mais je suis heureux d'être à tort) qu'avec OwnerDraw définie sur true, vous devrez également fournir des gestionnaires pour les autres tirer des événements qui ont des implémentations par défaut comme indiqué ci-dessous:
Certes, je n'ai pas réussi à faire la liste de dessiner les articles sans que.
OriginalL'auteur David Hall
Je sais que c'est un peu en retard à la fête, mais j'ai encore vu ce post et cela m'aurait aidée. Ici, c'est un peu abstraite de l'application du code de david fourni
Puis appeler cette dans votre formulaire constructeur
Il suffit de remplacer le *NOM de la CLASSE* avec quelle classe vous avez mis le premier bout de code dans et le *la COULEUR*'s avec une sorte de couleur.
OriginalL'auteur Nick Pray