c# - ListView 中的项目间距,其中 View=List

标签 c# winforms listview

我有一个带有复选框和 view=list 的 ListView 。项目之间根本没有垂直间距。如何增加垂直间距?

Listview spacing

很多答案都在谈论 LVM_SETICONSPACING,但这只适用于图标 View 。 Check Answer here

我也试过BetterListview express作为替代方案,但这提供了太多的间距,以至于另一个项目可以介于两者之间,在快速模式下你不能改变间距,只有在 300 美元的付费版本中......:(

最佳答案

你需要做的就是

  • ImageList 添加到Form
  • 将其 ImageSize.Height 设置为您想要的高度
  • ListViewSmallImageList设置为ImageList

完成。

注意:

  • 不需要需要在任何Item 上设置ImageIndex
  • 不需要添加任何图片

确保将 ImageSize.Width 设置为较小的数字,这样您就不会在 CheckBoxItem 之间出现间隙> 的 文本

所以要设置 ListView 写:

int itemHeight = 20;
ImageList imgList = new ImageList();
imgList.ImageSize = new Size(1, itemHeight);
listView1.SmallImageList = imgList;

关于c# - ListView 中的项目间距,其中 View=List,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29683279/

相关文章:

c# - Net Core中各种内存拷贝函数有什么区别?

c# - 尝试加载 150+ 灰度 4096 x 4096 位图。我认为需要帮助绕过 2GB 的限制

c# - 我可以用 "HostingEnvironment"来判断是Web还是Win

android - 无法解析方法 'super(android.content.context,int,int,java.util.arraylist<android.Bluetooth.Bluetoothdevices>)'

android - 如何防止 ListView 在触摸/滑动/甩动它的行时滚动?

c# - ListView 和 Messagebox 奇怪的错误?

c# - 更改 ViewModel 对象不会反射(reflect)对 View 的更改

c# - 如何将内存流转换为 System.Data.Linq.Binary?

c# - 有选择地使用默认的 JSON 转换器

c# - 如何在 Winform DataGridView 中创建不同的单元格格式