我有一个ListView
我在Items
添加了一些ListViewItem
。 View
属性设置为Details
。显示ListView
时,ListViewItem
没有任何边框(将一个项目与另一个项目分开的顶部和底部行)。
如何为所有项目添加边框?
一个例子:
答案 0 :(得分:5)
无论出于何种原因,CF控件都不支持Gridlines,尽管底层的本机ListView可以。 P /调用救援。
private const uint LVM_FIRST = 0x1000;
private const uint LVM_SETEXTENDEDLISTVIEWSTYLE = LVM_FIRST + 54;
private const uint LVM_GETEXTENDEDLISTVIEWSTYLE = LVM_FIRST + 55;
private const uint LVS_EX_GRIDLINES = 0x00000001;
[DllImport("coredll.dll")]
private static extern uint SendMessage(IntPtr hwnd, uint msg, uint wparam, uint lparam);
public void EnableGridlines(ListView listView)
{
var style = SendMessage(
listView.Handle,
LVM_GETEXTENDEDLISTVIEWSTYLE,
0,
0);
style |= LVS_EX_GRIDLINES;
var style = SendMessage(
listView.Handle,
LVM_SETEXTENDEDLISTVIEWSTYLE,
0,
style);
}
答案 1 :(得分:1)
ListView在紧凑框架中不支持GridLines。您可以使用DataGridView