2009-04-26 3 views
2

Est-ce que quelqu'un sait comment il est facile ou comment est-il possible d'habiller un contrôle Windows Forms DataGridView. Je voudrais rendre le contrôle très différent de ce à quoi il ressemble actuellement. Par exemple, pensez à l'application open source Boxee.Personnaliser ou habiller les contrôles .net DataGridView

Il a une interface entièrement personnalisée qui est jusqu'où je voudrais pousser le contrôle. Je sais que je peux éventuellement utiliser WPF qui est exactement conçu pour ce type d'utilisation mais malheureusement je ne peux pas utiliser .net 3.5 dans l'application cible.

En outre, si quelqu'un sait d'un contrôle DataGridView open source ou bon marché qui est conçu pour l'habillage s'il vous plaît faites le moi savoir. J'apprécie l'aide.

Merci,

-Ralph

Répondre

1

Depuis les contrôles WinForms sont rendus par l'user32.dll non géré les écorcher est presque impossible. Vous devrez ré-implémenter la logique de dessin de ligne plus ou moins à partir de zéro. Il existe certains articles qui pourraient vous aider si vous finissez par implémenter l'événement Peinture et par remplacer le comportement de peinture par défaut: MSDN et Alex Yakhnin's Blog

+0

J'ai réussi à obtenir ce travail en utilisant les deux liens que vous avez fournis. Surcharger les événements CellPainting a résolu mon problème, mais c'est assez pénible parce que vous vous retrouvez avec la responsabilité d'avoir à tout redessiner de zéro. Puissant mais ce n'est pas vraiment skinning en soi. –

1

La création de nouvelles lignes et colonnes pour DataGridView n'est pas si difficile. Je l'ai pris jusqu'à mettre en œuvre des barres de progression et des animations riches sans un seul accroc.

Voici un article exemple qui m'a commencé à créer des colonnes personnalisées:

http://www.devx.com/codemag/Article/35186

fureter à travers les propriétés du contrôle DGV, beaucoup de personnalisation est déjà possible. Il est facile de supprimer la plus grande partie du style généré par le contrôle, puis de créer votre propre sous-classe. Tant que vous pouvez accepter d'utiliser des colonnes et des lignes rectangulaires dans votre mise en page, c'est certainement une option viable.

Questions connexes