jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 9 févr. 2007 à 15:15
Si c'est comme sous VB6, il te faudra d'abord déterminer la largeur graphique de la donnée la plus large à y insérer....
Une fois cette largeur connue, il ne reste plus qu'à la donner à la colonne concernée.
cs_Exploreur
Messages postés4821Date d'inscriptionlundi 11 novembre 2002StatutMembreDernière intervention15 novembre 201615 9 févr. 2007 à 22:50
Salut,
Voici une fonction que m'avais donner une personne qui je reconnaîtra je pense...Par contre je ne sais pas si tu peux l'adapter en .net
Public Function AutoListView1(FormeName As Form, LV As ListView)
' On va régler la largeur des colonnes en fonction du contenu
Dim r As Integer, t As Long, Largeur As Long, Max As Long
' Donne à la forme la même police que le ListView
FormeName.Font = LV.Font
' 1ere colonne (n'est pas une SubItem)
' 1ere valeur : la largeur de l'étiquette
Max = FormeName.TextWidth(LV.ColumnHeaders(1).Text)
For t = 1 To LV.ListItems.Count
Largeur = FormeName.TextWidth(LV.ListItems(t).Text)
If Largeur > Max Then Max = Largeur
Next t
LV.ColumnHeaders(1).Width = Max * 2
For r = 2 To LV.ColumnHeaders.Count
' 1ere valeur : la largeur de l'étiquette
Max = FormeName.TextWidth(LV.ColumnHeaders(r).Text)
' Ensuite, le test de ttes les données
For t = 1 To LV.ListItems.Count
Largeur = FormeName.TextWidth(LV.ListItems(t).SubItems(r - 1))
If Largeur > Max Then Max = Largeur
Next t
LV.ColumnHeaders(r).Width = Max * 2
Next r
End Function