ListBox multi colonnes ?

iian2 Messages postés 103 Date d'inscription jeudi 10 novembre 2005 Statut Membre Dernière intervention 21 septembre 2007 - 11 sept. 2007 à 16:04
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 - 15 sept. 2007 à 17:32
Allo,

J'ai un listbox ou j'ai setter le multi colonne a true.

J'aimerais savoir comment je vais pour rajouter mes elements a ma list box quand j'ai plusieurs colonnes ?

Exemple de mon code:

Pour chaque items de macol

{

string Return = uneFonction....

CE que je veux add comment je fais (Premier,Return) 
//Premier = 1premiere colonne
//Return = 2ieme colonne

}

2ieme questions est-ce que je peux rajouter un forecolor si mon return est 1 pis une autre couleur si c,est 2 metons ?

Merci beaucoup d'anvance

Ian
A voir également:

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
11 sept. 2007 à 16:39
Pour la couleur, il faut que tu utilises ta listbox dans le mode OwnerDraw.

Pour les multi-colonnes, je n'ai jamais vraiment compris comment ca fonctionne ;)

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
0
Neo020585 Messages postés 178 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 6 juillet 2009 4
12 sept. 2007 à 08:27
Pour le mutli colonne, je ne sais pas comment il fonctionne, car lorsque j'ai plus d'une colonne à afficher, je préfère utiliser une ListView, qui est plus facile d'utilisation :

listView1.View = View.Details; // pour avoir l'affichage en mode détail (une ligne à la fois)
listView1.Columns.Add("Premier", listView1.Width / 2); // on ajoute une première colonne
listView1.Columns.Add("Return", listView1.Width / 2); // on ajoute une deuxième colonne
foreach (string premier in maCol) // on parcourt ta collection
{
    string tmp = uneFonction(); // tu récupère ta valeur
    ListViewItem lvi = new ListViewItem(premier); // tu crée un nouvel item et tu lui donne la valeur de premier
    lvi.SubItems.Add(tmp); // tu lui ajoute la valeur que tu as récupéré
    if (tmp == "1")
    {
        lvi.ForeColor = Color.Red; // on donne une couleur spéciale à l'item que l'on crée
    }
    else if(tmp == "2")
    {
        lvi.ForeColor = Color.Blue;
    }
    listView1.Items.Add(lvi); // tu ajoute ton item à la liste des items de la listView
}

Après quelques personnalisations, voilà ce que ça peut donner :

C'est, pour moi, la solution la plus simple (surtout que je vois pas comment utiliser la listbox :p)
"Une chose me laisse perplexe : Est-ce moi ou les autres qui sont fous ?" A. Einstein
<!--
0
Neo020585 Messages postés 178 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 6 juillet 2009 4
14 sept. 2007 à 13:22
iian2, si tu y es arrivé par un autre moyen que l'utilisation d'une ListView, pourrais-tu nous le donner ? Cela pourrait aider des personnes dans le même cas que toi.

"Une chose me laisse perplexe : Est-ce moi ou les autres qui sont fous ?" A. Einstein
<!--
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
15 sept. 2007 à 17:32
Salut,

Le "multicolonnes" sur un contrôle ListBox sert juste à éviter le scroll vertical (on obtient un comportement similaire au mode d'affichage "Liste" dans l'explorer par exemple.
Après il faudrais voir si on parle vraiment d'un contrôle ListBox et pas ListView.....

/*
coq
MVP Visual C#
CoqBlog
*/
0
Rejoignez-nous