C# 如何在列表框中的项目之间添加空格

C# 如何在列表框中的项目之间添加空格,c#,winforms,listbox,C#,Winforms,Listbox,有没有办法在Windows窗体上的列表框项目之间添加空格 我找了很多,但没有找到解决办法 我指的是一种类似于: listBox1.ColumnSpace = Value; 如下图所示: 无需添加新项目来创建空间 感谢您对WPF的帮助,您可以在项目上使用填充,例如: listBox1.Items.Add(new ListBoxItem { Padding = new Thickness(0, 10, 0, 10), Content = "Item 1" }); listBox1.Items.Ad

有没有办法在Windows窗体上的列表框项目之间添加空格

我找了很多,但没有找到解决办法

我指的是一种类似于:

listBox1.ColumnSpace = Value;
如下图所示:

无需添加新项目来创建空间

感谢您对WPF的帮助,您可以在项目上使用填充,例如:

listBox1.Items.Add(new ListBoxItem { Padding = new Thickness(0, 10, 0, 10), Content = "Item 1" });
listBox1.Items.Add(new ListBoxItem { Padding = new Thickness(0, 10, 0, 10), Content = "Item 2" });
listBox1.Items.Add(new ListBoxItem { Padding = new Thickness(0, 10, 0, 10), Content = "Item 3" });

或者使用样式在所有项目上设置此选项。

我认为您需要绘制项目的所有者。必须将DrawMode属性更改为OwnerDrawFixed才能使用自定义ItemHeight。然后,您需要自己绘制这些项目。为DrawItem事件指定一个处理程序来执行此操作。

空格是什么意思?列表框项目的高度?查看是否为winforms,如果为WPF,请尝试边距或填充。但请澄清您的问题。它在Windows窗体上,请使用列表视图!在这里,您可以添加一个imagelist并根据自己的喜好设置imageheight。您不需要实际指定图像。ListBox的ItemHeight是从fontSize派生的,因此您不能直接更改它。如果您有一个项目模板,它将起作用-否则它只会在列表框的边框和项目之间添加空格,而不会在项目本身之间添加空格,对吗?是的,Thorsten,我应该说在项目上设置空格;我已经编辑了我的答案。但是我找不到PaddingSorry,我现在看到您已经指定了WinForms-此答案对WPFI有效,可以在不绘制的情况下编辑ItemHeight?不符合文档要求,不。您可以更改ItemHeight,但不会影响显示。要做到这一点,您需要所有者绘制。但是,当您有28个列表框时,绘制非常困难。如果您只是希望项目高度不同,则可以将同一处理程序分配给所有列表框。所有的图形代码可能都相同,因此无法在windows窗体上添加空间?