vscrollbar1 visual net form evento desplazamiento barra agregar .net vb.net winforms controls scrollbar

.net - visual - scrollbar vb net



Personalizar la barra de desplazamiento de Windows Form (1)

He buscado en la red mundial sin una respuesta adecuada.

En mi aplicación Windows Form, quiero cambiar el ancho de una barra de desplazamiento que pertenece a un FlowLayoutPanel.

La barra de desplazamiento se agrega "automáticamente" ya que el contenido del panel de diseño de flujo es más grande que el formulario.

Por lo que he encontrado en la web, parece ser complicado.

Hay alguna solución para esto?

¡Aclamaciones!


No, no hay forma de cambiar el ancho de una barra de desplazamiento mostrada en un solo control (aunque hay una configuración de todo el sistema que afectará a todas las barras de desplazamiento en todas las aplicaciones).

La fea verdad es que el bajo control de la barra de desplazamiento es mucho más complicado de lo que parece. Básicamente, las barras de desplazamiento en FlowLayoutPanel las dibuja Windows mismo (en lugar de .NET Framework) debido a los estilos de ventana WS_HSCROLL y / o WS_VSCROLL que se establecen para el control detrás de las escenas. El FlowLayoutPanel no proporciona ninguna facilidad para cambiar o modificar cómo se dibujan estas barras de desplazamiento integradas. A diferencia de otras modificaciones más avanzadas en WinForms, no hay tales mensajes que podamos enviar al procedimiento de ventana del control. Y para empeorar las cosas, las barras de desplazamiento se dibujan en el área no cliente del FlowLayoutPanel , lo que significa que no podemos anular su evento Paint y manejar las barras de desplazamiento nosotros mismos.

Desafortunadamente, si realmente quieres personalizar tus barras de desplazamiento, vas a tener que ocultar las barras de desplazamiento incorporadas y hacer las tuyas propias. Aunque no es tan difícil como suena, si estás preparado para eso. Este artículo sobre CodeProject proporciona un buen recorrido en la creación de su propia barra de desplazamiento skinnable como control de usuario y la utiliza como un reemplazo en el control de contenedor de su elección.