我知道Properties
ListView 可以更改常用样式,但我只想测试一下。例如,View = View.LargeIcon
将样式LVS_ICON = 0
应用于ListView
或GridLines = true
将样式LVS_EX_GRIDLINES = 1
应用于ListView
。我想用CreateParams
. 我认为使用GetWindowLong
和SetWindowLong
Win32 函数就可以了,但据我所知,为了方便起见,CreateParams
可以更改控件的样式。但是这次用 a ListView
,我不能让它工作,它根本没有效果,不知道ListView
是不是一个特例?这是我的代码:
public class CustomListView : ListView {
protected override CreateParams CreateParams {
get {
CreateParams cp = base.CreateParams;
cp.Style |= 3; //Apply LVS_LIST (View as List)
return cp;
}
}
}
只会产生一些效果,但LVS_EX_GRIDLINES = 1
效果不是。这很奇怪,大多数其他应用都没有效果。Grid lines are drawn on the ListView
Border becomes thicker and looks like 3D-border
你能解释一下,或者至少给我一些有效的例子吗?再次请不要给我任何使用GetWindowLong
and的解决方案或代码SetWindowLong
,只需使用CreateParams
.
谢谢!