C# Adaptation taille listview en fonction du nombre d'éléments [Résolu]

Signaler
Messages postés
30
Date d'inscription
mardi 19 août 2008
Statut
Membre
Dernière intervention
15 mai 2014
-
Messages postés
30
Date d'inscription
mardi 19 août 2008
Statut
Membre
Dernière intervention
15 mai 2014
-
Bonjour,
Je souhaite pouvoir redimensionner ma listview en fonction du nombre d'éléments de mes tableaux, c'est à dire:
J'ai un premier tableau qui représente le temps en seconde pour la synchro
t= 0 1 5 10 ...
et un deuxième tableau qui représente une coordonnée
x= 12 10 14 74...
j'arrive bien à afficher ce que je veux dans ma listview en faisant:
            listView1.View = View.Details;
            listView1.Columns.Add("time");
            listView1.Items.Add("x");

            for (int i = 0; i < 6; i++)
            {
                listView1.Columns.Add(x[i]);
                listView1.Items[0].SubItems.Add(t[i]);              
            }


L'ennuie c'est que je souhaite redimensionner la listview(pas les colonnes) mais la listview entière en fonction de la taille de mon tableau.

Je fais donc
          int LengthTemps = t.Length;
            listView1.Size = (LengthTemps * 30, 82);
            listView1.Size(83,42);


Mais apparement ni listView1.Size = (LengthTemps * 30, 82) ni listView1.Size(83,42) fonctionne, les 2 instructions sont rejetées.

Help please :)
A voir également:

3 réponses

Messages postés
15940
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
15 mai 2021
545
Bonjour

as tu essayé avec Width et Height?
Messages postés
30
Date d'inscription
mardi 19 août 2008
Statut
Membre
Dernière intervention
15 mai 2014

pff, je suis vraiment un débutant, je me suis vraiment embêté pour rien, c'était tout simplement Width et Height au lieu de size.

Merci beaucoup pour ta réponse Whismeril
Messages postés
15940
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
15 mai 2021
545
De rien, j'ai débuté aussi un jour et des questions c... je m'en suis posé aussi ;-)
Messages postés
27
Date d'inscription
samedi 7 août 2010
Statut
Membre
Dernière intervention
16 janvier 2014
1
Bonjour,
J'ai regardé la doc MSDN ( je donne le lien américain car je crois que le lien français ne correspondrait qu'à une traduction automatique et non à une traduction humaine )
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.size(v=vs.100).aspx
Il est écrit qu'il faut fournir à la propriété Size un object Size. Pourriez-vous essayer de remplacer
listView1.Size = (LengthTemps * 30, 82);
par
listView1.Size = new Size(LengthTemps * 30, 82);
Voir "So, adjusting the Width or Height properties of the Size returned from this property will not affect the Width or Height of the control." ( problem classique avec des proprieties définies comme des types valeur ( ce qui est le cas d'une structure ).
Autre solution ( correspondant à la phrase suivante de celle que j'ai fourni en américain ):
listView1.Size.Width = LengthTemps * 30
listView1.Size.Height = 82;
Je n'ai pas eu le temps de tester ces 2 solutions , mais je sais que j'ai utilisé la 1ère lorsque j'ai utilisé VS 2005 massivement lors de mon apprentissage de SMO.
Par contre , la documentation n'a pas change entre les versions 2.0 et 4.5.1 ( que j'utilise actuellement )
Bonne journée
Messages postés
30
Date d'inscription
mardi 19 août 2008
Statut
Membre
Dernière intervention
15 mai 2014

Bonjour PapyNormand et merci pour ton aide.

J'ai marqué le sujet comme résolu suite à la réponse de Whismeril qui est la bonne.
Il faut tout simplement marquer Width ou Height selon ce qu'on souhaite et pas directement size(Width,Height).
Dans mon cas, la solution est donc:.
listView1.Width = (LengthTemps * 70); // LengthTemps est une variable

Bonne journée à toi aussi