我该如何更改ListView中选定项的选择颜色?默认情况下,当用户选择一个项时,它会显示蓝色背景。我想将其更改为深灰色或其他颜色...
谢谢帮助![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);
}
ObjectListView -- 是一个 WinForm ListView 的包装器,它具有属性来控制所选行的背景和前景颜色。它使用了 Obalix 建议的技术,但已经为您完成了艰苦的工作。
因此,只需付出一点努力,您就可以制作出像这样的东西:
(来源:codeproject.com)
"Feel Good Inc" 行显示了自定义的前景和背景选择。
ObjectListView
不是ListView
的即插即用替代品。为了使用它,可能需要对现有代码进行一些重构。 - Steve