ListViewItem边框 - 紧凑框架

时间:2013-03-19 19:00:28

标签: c# listview compact-framework border listviewitem

我有一个ListView我在Items添加了一些ListViewItemView属性设置为Details。显示ListView时,ListViewItem没有任何边框(将一个项目与另一个项目分开的顶部和底部行)。

如何为所有项目添加边框?

一个例子:

enter image description here

2 个答案:

答案 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