Customlistbox -> mettez ce que vous voulez (progressbar, groupbox, usercontrol,...) dans vos listbox

Soyez le premier à donner votre avis sur cette source.

Vue 10 523 fois - Téléchargée 977 fois

Description

Ce contrôle dérivant de la ListBox vous permet d'ajouter des contrôles classiques à sa collection d'objets qui seront affichés tels quels. (Jettez un oeil au screenshot pour avoir une idée)

Les classes MyClass et MyClassUI sont bien entendu de simples exemples, à vous de mettre les classes que vous désirez voir dans votre ListBox.

Je commente très peu mon code, mais n'hésitez pas à me poser des question si vous en avez. Je suis également ouvert aux suggestions.

Source / Exemple :


//La clé du code est dans cette redéfinition de OnDrawItem :
protected override void OnDrawItem(DrawItemEventArgs e)
{
    object item = Items[e.Index];
    if (item is Control)
    {
        Control itemc = (Control)item;
        itemc.Parent = this;
        itemc.Bounds = e.Bounds;
    }
    else
    {
        base.OnDrawItem(e);
    }
}

protected override void OnMeasureItem(MeasureItemEventArgs e)
{
    object item = Items[e.Index];
    if (item is Control)
    {
        int h = ((Control)item).Height;
        int w = ((Control)item).Width;
        e.ItemWidth = w;
        e.ItemHeight = h;
    }
    else
    {
        base.OnMeasureItem(e);
    }
}

public CustomListBox()
    : base()
{
    base.DrawMode = DrawMode.OwnerDrawVariable;
}

Conclusion :


Cette source permet de faire de belles listbox rapidement et relativement efficacement.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Pepito38Mount
Messages postés
1
Date d'inscription
lundi 30 novembre 2009
Statut
Membre
Dernière intervention
4 mars 2010

Bonjour,

Merci pour ta listBox,

Sais-tu comment faire pour réaliser la même chose sur une ListBox Web.

Merci
Tamplan
Messages postés
26
Date d'inscription
jeudi 2 janvier 2003
Statut
Membre
Dernière intervention
31 mars 2009

Bonsoir et merci pour ce code qui me permet de me former au language C#.

J'ai cependant une question :
'MyClassUI' que j'ai modifié contient maintenant 3 boutons.

Comment récupérer les évènement 'Click' de ces boutons dans la Custom ListBox ?
gerber samuel
Messages postés
2
Date d'inscription
mardi 24 octobre 2006
Statut
Membre
Dernière intervention
30 octobre 2008

Salut est merci pour ta listBox... vraiment efficace
Voilà ma question:
comment puis-je prendre en charge le scrollVertical de façon à la personnalisé ou tout simplement la cacher?
je mets "customListBox.ScrollAlwaysVisible = false;" mais ça ne marche pas!

Merci pour ton aide

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.