Listbox avec checkbox + image stylé

Soyez le premier à donner votre avis sur cette source.

Vue 24 480 fois - Téléchargée 3 029 fois

Description

Au début je cherchait à mettre des images dans une CheckListBox.
Comme le contrôle CheckedListBox prend uniquement la propriété DrawMode.Normal en charge, il suffisait de prendre une ListBox normal et de rajouter la gestion des CheckBox puis les image et une personalisation avec des dégradé, couleurs, police ...
Dans l'application d'example, ca liste les dossiers et les fichiers de la racine du disque ou se trouve l'application.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

pegaz_pegaz
Messages postés
2
Date d'inscription
mardi 12 octobre 2004
Statut
Membre
Dernière intervention
10 octobre 2007

Très efficace, je te remercie pour cette source!
Un belge qui cherchait une solution!
Charles Racaud
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
28
Oui, on peut l'utiliser avec le concepteur window form sans aucun problème.
C'est juste moi qui l'ai volontairement désactivé. Je le déteste, je ne l'utilise jamais,
il me met la pagaille dans le code avec pleins de trucs inutiles. (Désolé, je m?emporte)
Mais c'est vrai que du coup, je ne pense pas pour ceux qui l'utilisent.

Bien vu pour le CheckedChanged. Merci

__
Kenji
Colinalia
Messages postés
4
Date d'inscription
dimanche 20 juin 2004
Statut
Membre
Dernière intervention
21 janvier 2007

Merci super source :) . Pour info on peut l'utiliser avec le concepteur de forme aussi (je suis en 2005), pour cela il suffit d'englober les codes des sub OnDrawItem et OnMeasureItem par

If MyBase.Items.Count > 0 Then

...

end if

Et une petite modification qui peut s'avérer utile c'est de rajouter l'événement checkedChanged

il suffit de rajouter dans les déclarations

Public Delegate Sub checkedChangeDelegate(ByVal sender As Object, ByVal e As ItemCheckEventArgs)
Public Event checkedChange As checkedChangeDelegate

et dans OnMouseDown aprés "If ItemBounds.Contains(e.X, e.Y) = True Then" :

Dim checked As Boolean = CType(MyBase.Items(MyBase.SelectedIndex), ListItem).m_Checked
If checked Then
RaiseEvent checkedChanged(Me, New ItemCheckEventArgs(MyBase.SelectedIndex, CheckState.Unchecked, CheckState.Checked))
Else
RaiseEvent checkedChanged(Me, New ItemCheckEventArgs(MyBase.SelectedIndex, CheckState.Checked, CheckState.Unchecked))
End If

@++
cs_Collie
Messages postés
1
Date d'inscription
mercredi 30 novembre 2005
Statut
Membre
Dernière intervention
4 janvier 2006

Merci je suis enfin sortie de ce problème de checklistbox peu convivial. @+
cs_Dozzer
Messages postés
3
Date d'inscription
mercredi 4 mai 2005
Statut
Membre
Dernière intervention
29 décembre 2005

Merçi Kenji pour l'info, !!!! a +

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.