/ / Cómo cambiar los colores de la barra de desplazamiento con ScrollBarRenderer - c #, .net, winforms

Cómo cambiar los colores de la barra de desplazamiento con ScrollBarRenderer - c #, .net, winforms

Estoy desarrollando una aplicación Winforms y necesito configurar el diseño de la barra de desplazamiento. Necesito cambiar los colores de las flechas, el control deslizante y el fondo de una pista. Encontré un ScrollBarRenderer en msdn msdn ScrollBarRenderer Info y ahora no entiendo cómo configurar el renderizado a través de métodos como

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);

Este código se ejecuta en OnPaint.

Estaré muy agradecido por cualquier ayuda.

Respuestas

2 para la respuesta № 1

Lamentablemente, la barra de desplazamiento es solo una envoltura alrededor de la API nativa de Win32, que no expone los colores de la barra.

Otros controles le permiten extender un renderizador personalizado y usarlo, pero debido a que la barra de desplazamiento simplemente enlaza con las llamadas de Win32, no puede hacer eso aquí.

La única forma de lograr esto es crear una clase de barra de desplazamiento de dibujo personalizada que se extienda desde Control, como este ejemplo en Proyecto de Código muestra


http://www.codeproject.com/Articles/41869/Custom-Drawn-Scrollbar