2013-03-19 79 views
4

我有一个ListView我在那里添加为Items一些ListViewItem s。 View属性设置为Details。当显示ListView时,ListViewItem没有任何边界(将一个项目与另一个项目分开的顶部和底部线)。ListViewItem边框 - 精简框架

我该如何为我的所有物品添加边框?

一个例子:

enter image description here

+1

嘿,我想有人借我的一张照片! :) – jp2code 2013-03-20 14:14:32

回答

4

无论出于何种原因,GridControl不受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);  
} 
+0

它的工作原理,我可以看到一个浅蓝色的边框。我怎样才能改变颜色和线条的粗细? – Nick 2013-03-20 12:04:01

+0

我不知道有任何方法来改变颜色或边框的厚度(虽然我也从来没有找过一种方式)。 – ctacke 2013-03-20 13:08:51

+0

如果有一天你会知道答案,请让我知道。 – Nick 2013-03-20 15:33:20

1

的ListView不支持Compact Framework的网格线。您可以使用DataGridView