Question

J'ai trouvé quelques exemples utilisant l'API Win32 ou simulant la combinaison de boutons ^+ (Ctrl-+) en utilisant SendKeys, mais au moins avec la méthode SendKeys, la liste saisit le curseur et le définit sur un sablier jusqu'à ce que j'appuie sur le bouton Démarrer de mon clavier.Quelle est la manière la plus propre de procéder ?

Était-ce utile?

La solution

On dirait un appel à myListView.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent) tu feras ce que tu veux.Je pense qu'il suffit de l'appeler après avoir ajouté un élément.

Plus d'informations ici

Autres conseils

Selon MSDN, si vous définissez la largeur de la colonne sur -1, elle sera automatiquement dimensionnée à l'élément le plus large

parcourez toutes les colonnes et définissez la largeur sur -1 après avoir ajouté du contenu.

Après avoir ajouté la routine suivante à votre code, appelez-la à partir de n'importe quelle procédure/fonction.Ne l'utilisez pas dans votre procédure "Form_Load".Appelez-le uniquement après avoir ajouté un élément à votre ListView (ou si vous effectuez plusieurs ajouts, appelez-le une fois à la fin de tous les ajouts) :

    Private Sub AutoSizeListViewColumns(oListView As ListView)
        Dim nCol As Integer = 0
        SuspendLayout()
        For nCol = 0 To (oListView.Columns.Count - 1)
            oListView.Columns(nCol).Width = -1  'forces autosizing on column
        Next
        oListView.Refresh()
        ResumeLayout()
    End Sub
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top