winforms 更改VscrollBar的背景色

66bbxpm5  于 2022-11-17  发布在  其他
关注(0)|答案(2)|浏览(282)

是否可以更改VscrollBar的背景颜色?我参考过的最佳方法是http://www.codeproject.com/Articles/624997/Enhanced-Scrollbarhttp://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();
    }
}

它不起作用。有什么建议吗?

bksxznpy

bksxznpy1#

没有太多新信息,但是:您必须使用Paint事件并自定义绘制滚动条,这里是此解决方案的另一个链接(通过Paint事件自定义绘制)http://www.codeproject.com/Articles/14801/How-to-skin-scrollbars-for-Panels-in-C

w8f9ii69

w8f9ii692#

我基于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控件代码

相关问题