5

我有一个ListView添加为Items一些ListViewItems 的地方。该View属性设置为DetailsListView显示时, ListViewItems 没有任何边框(将一个项目与另一个项目分开的顶部和底部线)。

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

一个例子:

在此处输入图像描述

4

2 回答 2

5

无论出于何种原因,CF 控件都不支持网格线,尽管底层本机 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);    
}
于 2013-03-19T20:22:08.237 回答
1

ListView 不支持紧凑框架中的 GridLines。您可以使用 DataGridView

于 2013-03-19T19:51:15.380 回答