C# Adaptation taille listview en fonction du nombre d'éléments

Résolu
chambreur
Messages postés
30
Date d'inscription
mardi 19 août 2008
Statut
Membre
Dernière intervention
15 mai 2014
- 14 janv. 2014 à 10:16
chambreur
Messages postés
30
Date d'inscription
mardi 19 août 2008
Statut
Membre
Dernière intervention
15 mai 2014
- 16 janv. 2014 à 09:22
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

Whismeril
Messages postés
17336
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
20 mai 2022
596
14 janv. 2014 à 11:33
Bonjour

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

14 janv. 2014 à 14:15
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
0
Whismeril
Messages postés
17336
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
20 mai 2022
596
14 janv. 2014 à 15:58
De rien, j'ai débuté aussi un jour et des questions c... je m'en suis posé aussi ;-)
0
PapyNormand
Messages postés
27
Date d'inscription
samedi 7 août 2010
Statut
Membre
Dernière intervention
16 janvier 2014
1
15 janv. 2014 à 19:17
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
0
chambreur
Messages postés
30
Date d'inscription
mardi 19 août 2008
Statut
Membre
Dernière intervention
15 mai 2014

16 janv. 2014 à 09:22
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
0