Redessiner une ListBox

Résolu
aquanovax Messages postés 25 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 février 2009 - 14 déc. 2006 à 11:24
aquanovax Messages postés 25 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 février 2009 - 14 déc. 2006 à 13:10
Bonjours, j'ai besoin de redessiner totalement le contrôle ListBox afin de pouvoir modifier en profondeur les options d'affichage (Couleurs d'une ligne, police, ... ).

J'ai commencé par crée une nouvelle class hérité de ListBox et de faire un override de sa méthode OnPaint, mais je n'arrive à ajouter cette méthode dans le gestionnaire d'événement via l'événement Paint.

Si quelque peut m'aider, merci d'avance!

4 réponses

sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
14 déc. 2006 à 11:46
pourquoi ne pas tout simplement surcharger les méthodes OnMeasureItem et OnDrawItem ? Elles sont faites justement pour ca.

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
3
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
14 déc. 2006 à 11:30
jai pas tout a fait compris ce que tu veux faire, mais a priori, tu dois faire un truc comme ca :

protected override void OnPaint(PaintEventArgs e)
{
MaMethodDAjoutAuDesignAvantBase();
base.OnPaint(e);
MaMethodDAjoutAuDesignApresBase();
}

Tu n'as rien de plus a faire a priori...
0
aquanovax Messages postés 25 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 février 2009
14 déc. 2006 à 11:51
1)
c'est ce que j'ai fais mais, la méthode de base prime topujours sur la mienne, du coup toute mes modifications sont affiché "derrière"!

2)
je ne connaissais pas ces méthodes je vais regarder!
0
aquanovax Messages postés 25 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 février 2009
14 déc. 2006 à 13:10
Ca marche, j'ai utilisé la méthode OnDrawItem, merci beaucoup! @+
0
Rejoignez-nous