Redimensionnement auto des colonnes d'un ListView avec le redimensionnement de l [Résolu]

mftdev 8 Messages postés mardi 22 mai 2012Date d'inscription 28 juin 2012 Dernière intervention - 25 mai 2012 à 15:14 - Dernière réponse : mftdev 8 Messages postés mardi 22 mai 2012Date d'inscription 28 juin 2012 Dernière intervention
- 30 mai 2012 à 11:48
Bonjour,

J'ai trouvé pas mal de sujets sur le redimensionnement automatique de la largeur des colonnes d'un ListView selon la taille du texte contenu dans l'entête de colonne ou selon la taille du texte contenu dans les items,
mais je n'ai rien trouvé sur le redimensionnement automatique de la largeur des colonnes d'un ListView selon le redimensionnement de la fenêtre parente...
Je m'explique :
J'ai un ListView qui comporte 2 colonnes et qui occupe toute la largeur de ma fenêtre.
Je l'ai ancré à gauche et à droite pour qu'il suive la taille de la fenêtre, mais je voudrais aussi que mes 2 colonnes changent de taille en même temps pour se répartir la largeur...

Est-ce que ça vous semble possible ?


Merci par avance.
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Whismeril 11968 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 17 août 2018 Dernière intervention - 26 mai 2012 à 00:04
3
Merci
Bonsoir,

je ne me sert par de listview, mais as tu essayer quelque chose comme ça

listView2.Columns[0].Width = listView2.Width / 2;



Whismeril

Merci Whismeril 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 74 internautes ce mois-ci

Commenter la réponse de Whismeril
mftdev 8 Messages postés mardi 22 mai 2012Date d'inscription 28 juin 2012 Dernière intervention - 29 mai 2012 à 16:47
0
Merci
Merci Whismeril, en effet c'était tout simple !...
Je l'ai adapté en fonction de mon environnement, en fonction d'une éventuelle scrollbarre verticale
et du comportement que je souhaitais...
C'est tout simple mais ça marche nickel.

J'appelle ma fonction à chaque chargement de ma liste
et à chaque redimensionnement de la fenêtre :

Si ça peut intéresser quelqu'un...
(Attention, j'ai seulement 2 colonnes : code à généraliser si besoin)

        /// <summary>
        /// Réorganisation automatique de la largeur des colonnes de MyList
        /// selon toutes les circonstances,
        /// sauf si l'utilisateur a spécifié manuellement une largeur de colonne
        /// </summary>
        private void MyListAutoResizeColumns()
        {
            // Si l'utilisateur n'a pas modifié la largeur d'une colonne
            if (MyList.Columns[0].Width == MyList.Columns[1].Width)
            {
                // Si le nombre d'items entraîne l'utilisation d'une scrollbarre
                if ((MyList.Items.Count * 17) > (MyList.Size.Height - 28))        // La hauteur d'un item de la liste est de 17 pixels, d'une en-tête de colonne : 28 pixels
                {
                    // Le redimensionnement des colonnes se fait selon la largeur de la scrollbarre qui est de 17 pixels et une marge fixe
                    MyList.Columns[0].Width = ((MyList.Width - 17) / 2 - 2);
                    MyList.Columns[1].Width = ((MyList.Width - 17) / 2 - 2);
                }
                else
                {
                    // Le redimensionnement des colonnes se fait selon une marge fixe
                    MyList.Columns[0].Width = (lstContacts.Width / 2 - 2);
                    MyList.Columns[1].Width = (lstContacts.Width / 2 - 2);
                }
            }

        }
Commenter la réponse de mftdev
Whismeril 11968 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 17 août 2018 Dernière intervention - 29 mai 2012 à 17:54
0
Merci
De rien,

clique sur réponse acceptée pour que ton sujet apparaissent résolu.

Cdt


Whismeril
Commenter la réponse de Whismeril
mftdev 8 Messages postés mardi 22 mai 2012Date d'inscription 28 juin 2012 Dernière intervention - 30 mai 2012 à 11:48
0
Merci
Oui, désolé,
J'ai oublié...
Commenter la réponse de mftdev

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.