Il ne semble pas y avoir moyen de modifier le remplissage (ou la hauteur de ligne) pour toutes les lignes d'un ListView .NET. Quelqu'un a-t-il un style élégant?Rembourrage de ligne .NET ListView
Répondre
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.
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. Comment faire glisser une ligne ListView dans .NET?
- 2. Rembourrage le haut et le bas de l'élément en ligne
- 3. .NET: ListView blues?
- 4. Problème de rembourrage dans IE7
- 5. C# RSA sans rembourrage
- 6. Rembourrage sur StackPanel?
- 7. ASP .NET - Utiliser asp: CheckBox dans ListView
- 8. .NET Listview Control Visual Studio 2005
- 9. ASP .NET - Utilisation asp: ListBox dans ListView
- 10. Suppression et réinsertion des colonnes ListView (.NET)
- 11. Comment transmettre en Runtime un index de ligne pour ListView?
- 12. Cliquez sur travée avec rembourrage
- 13. rembourrage même pas dans IE
- 14. problème avec style rembourrage DIV HTML
- 15. ASP .NET - Définir des valeurs par défaut de ListView InsertItemTemplate
- 16. .NET ListView: événement après modification de la sélection
- 17. C# .net ListView - Récupère des informations différentes de différentes tables
- 18. Déterminez si le contrôle .NET ListView est en cours d'édition
- 19. C#/WPF: Comment afficher la dernière ligne d'un ListView séparément?
- 20. Listview avec plus d'une case à cocher par ligne?
- 21. WPF: Comment puis-je obtenir la hauteur d'une ligne listview?
- 22. C#/WPF: Get Ligne sélectionnée à partir d'un ListView
- 23. .NET "terminaison de ligne par défaut"?
- 24. rembourrage-arrière-plan/remplissage de texte en CSS?
- 25. Rembourrage des chaînes STL en C++
- 26. CSS, divs imbriqués et marges contre rembourrage
- 27. Rembourrage dans mozilla firefox et safari
- 28. IE6 rembourrage supplémentaire sur le fond
- 29. Rembourrage dans NSTextView - possible sans dessin personnalisé?
- 30. Rembourrage sortie imprimée des données tabulaires
Veuillez publier le contenu pertinent de l'article de blog dans votre réponse. –
'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)? –