如何更改ListView上的选择颜色?默认情况下,当用户选择项目时,它显示蓝色背景。我想把它变成深灰色或者什么...... 谢谢你的帮助!
答案 0 :(得分:7)
如果您希望ListView
拥有Windows资源管理器ListView
的样式(包括Win7 / Vista中带圆边的漂亮外观),您可以使用一点P / Invoke来实现:
[DllImport("uxtheme.dll", CharSet = CharSet.Unicode, ExactSpelling = true)]
internal static extern int SetWindowTheme(IntPtr hWnd, string appName, string partList);
// You can subclass ListView and override this method
protected override void OnHandleCreated(EventArgs e)
{
base.OnHandleCreated(e);
SetWindowTheme(this.Handle, "explorer", null);
}
答案 1 :(得分:2)
对于WinForms,您必须将OwnerDraw
属性设置为true,然后使用DrawItem
和DrawSubItem
事件手动绘制项目。
See here举个例子。
答案 2 :(得分:1)
ObjectListView - WinForm ListView的包装器 - 具有允许您控制所选行的背景和前景色的属性。它使用了Obalix建议的技术,但它已经为你完成了艰苦的工作。
所以,只要付出一点努力,你就可以产生这样的东西:
“Feel Good Inc”行显示自定义前景和背景供选择。