C# 如何使用ScrollDerrer更改滚动条颜色

C# 如何使用ScrollDerrer更改滚动条颜色,c#,.net,winforms,C#,.net,Winforms,我正在开发一个Winforms应用程序,需要设置滚动条的设计。我需要更改箭头、滑块和轨迹背景的颜色。我在msdn上发现了一个ScrollDerrer,现在我不知道如何通过如下方法设置渲染 ScrollBarRenderer.DrawRightHorizontalTrack(e.Graphics, ClientRectangle, ScrollBarState.Normal); // Draw the thumb and thumb grip in the

我正在开发一个Winforms应用程序,需要设置滚动条的设计。我需要更改箭头、滑块和轨迹背景的颜色。我在msdn上发现了一个ScrollDerrer,现在我不知道如何通过如下方法设置渲染

ScrollBarRenderer.DrawRightHorizontalTrack(e.Graphics,
            ClientRectangle, ScrollBarState.Normal);

        // Draw the thumb and thumb grip in the current state.
        ScrollBarRenderer.DrawHorizontalThumb(e.Graphics,
            thumbRectangle, thumbState);
        ScrollBarRenderer.DrawHorizontalThumbGrip(e.Graphics,
            thumbRectangle, thumbState);
此代码在OnPaint中执行


我将非常感谢您的帮助。

遗憾的是,滚动条只是本机Win32 API的包装,它没有显示滚动条的颜色

其他控件允许您扩展自定义渲染器并使用它,但由于滚动条只是链接到Win32调用,因此您无法在此处执行此操作

实现这一点的唯一方法是创建从控件扩展的自定义绘图滚动条类,如上的示例所示