2008-09-11 6 views

Répondre

3

Une solution de contournement consiste à utiliser une ImageList aussi grande que vous voulez que les éléments soient. Remplissez simplement une image vide avec la couleur d'arrière-plan. Vous pouvez même agrandir l'image 1 de manière à ne pas prendre beaucoup de place horizontalement.

8

Je sais que ce post est assez vieux, cependant, si vous n'avez jamais trouvé la meilleure option, j'ai un blog post qui peut aider, il implique l'utilisation de LVM_SETICONSPACING.

Selon mon blog,

Dans un premier temps, vous devrez ajouter:

using System.Runtime.InteropServices; 

Ensuite, vous aurez besoin d'importer la DLL, de sorte que vous pouvez utiliser SendMessage, pour modifier les paramètres ListView.

[DllImport("user32.dll")] 
public static extern int SendMessage(IntPtr hWnd, int msg, IntPtr wParam, IntPtr lParam); 

Une fois que terminée, créez les deux fonctions suivantes:

public int MakeLong(short lowPart, short highPart) 
{ 
    return (int)(((ushort)lowPart) | (uint)(highPart << 16)); 
} 

public void ListViewItem_SetSpacing(ListView listview, short leftPadding, short topPadding) 
{  
    const int LVM_FIRST = 0x1000;  
    const int LVM_SETICONSPACING = LVM_FIRST + 53;  
    SendMessage(listview.Handle, LVM_SETICONSPACING, IntPtr.Zero, (IntPtr)MakeLong(leftPadding, topPadding));  
} 

ensuite d'utiliser la fonction, il suffit de passer dans votre ListView et définissez les valeurs. Dans l'exemple, 64 pixels correspond à la largeur de l'image et 32 ​​pixels à mon espacement/remplissage horizontal, 100 pixels à la hauteur de l'image et 16 pixels à mon espacement/remplissage vertical, et les deux paramètres nécessitent un minimum de 4 pixels.

ListViewItem_SetSpacing(this.listView1, 64 + 32, 100 + 16); 
+1

Veuillez publier le contenu pertinent de l'article de blog dans votre réponse. –

+1

'LVM_SETICONSPACING' s'applique uniquement aux ListViews en mode Icône. N'importe quelle façon de faire une chose équivalente quand dans Details voit changer le padding de ligne (pas la taille de rangée, qui comme @Joel Lucsy indique peut être fait avec un imagelist)? –

Questions connexes