是否可以更改VscrollBar的背景颜色?我参考过的最佳方法是http://www.codeproject.com/Articles/624997/Enhanced-Scrollbar或http://www.codeproject.com/Articles/41869/Custom-Drawn-Scrollbar,但没有BackColor属性,BackgroundImage不起作用。
我试过最简单的方法
public class ScrollBarEx : VScrollBar
{
protected override void OnPaint(PaintEventArgs e)
{
base.BackColor = Color.Red;
base.Invalidate();
}
}
它不起作用。有什么建议吗?
2条答案
按热度按时间bksxznpy1#
没有太多新信息,但是:您必须使用
Paint
事件并自定义绘制滚动条,这里是此解决方案的另一个链接(通过Paint
事件自定义绘制)http://www.codeproject.com/Articles/14801/How-to-skin-scrollbars-for-Panels-in-Cw8f9ii692#
我基于http://www.codeproject.com/Articles/41869/Custom-Drawn-Scrollbar构建了自己的自定义ScrollBar控件。
我的自定义ScrollBar带有现成的主题(VS 2019 Dark和VS 2019 Light)。您可以通过修改字段**_backColor**来更改控件背景色,也可以使用一个属性公开此私有字段,以允许您从代码中更改背景色。
我已经修改了原来的控制,以摆脱三维颜色,并取代他们与平面颜色
VB.NET https://gist.github.com/ahmedosama007/c1b0cd327d395a5698c1e17e96d0f8f9中的完整Flat ScrollBar控件代码