Devrait être possible ... mais n'est certainement pas facile (au moins pour moi).
Je suis en train de faire avec une liste personnalisée (ajouté des fonctionnalités et de nouvelles propriétés) par moi-même, mais je n'ai aucune expérience avec le dessin personnalisé. Ce que je sais, c'est que vous devez faire un dessin personnalisé complet pour un résultat comme sur la photo. J'ai essayé le dessin personnalisé une fois parce que je voulais alterner les couleurs d'arrière-plan, les lignes de quadrillage personnalisées et la couleur, mais aussi une couleur de surbrillance, mais j'avais abandonné pour l'instant. décidé que j'utilise le style par défaut pour le moment dans mon application. J'ai obtenu l'arrière-plan alternatif pour les lignes fonctionnant en raison d'une approche différente (déclenchement d'un événement personnalisé en utilisant un ListViewItemCollection modifié) mais je veux toujours avoir une grille personnalisée un jour.
Je n'ai jamais utilisé un DataGridView jusqu'à maintenant, donc je ne peux rien dire à ce sujet mais je pense qu'il devrait être possible d'étendre une liste de visualisation pour faire ce que vous voulez (en fonction des fonctionnalités requises). Un bon point de départ devrait être d'hériter d'une liste, de la définir sur OwnerDraw et de jouer avec les événements associés (OnDrawColumnHeader, OnDrawSubItem, OnDrawItem).
Vous pouvez également jeter un oeil à "ObjectListView", un projet Open-Source avec une liste très étendue. Je n'ai pas réussi à le faire fonctionner car j'utilise VB-Net Express.
Juste un conseil: vous verrez probablement de meilleures réponses si vous expliquez des fonctionnalités spécifiques que vous recherchez. –