2009-02-24 20 views
7

¿Alguien tiene alguna idea sobre cómo crear una barra de seguimiento con múltiples controles deslizantes en WinForms? Me gustaría marcar un rango Además, ¿es posible desplazar los controles deslizantes verticalmente un poco? Mi objetivo sería tener dos controles deslizantes sobre la barra de seguimiento y dos debajo.Barra deslizadora de seguimiento múltiple para formularios de Windows

 v-----------------v 
________________________________________ 
           ^------^ 

Respuesta

7

Puede hacerlo escribiendo su propio UserControl donde maneja los eventos del mouse y pinta usted mismo. Necesitarías varias regiones de prueba de golpe; uno por cada pulgar

Para dibujar la barra de seguimiento, necesitaría una combinación de ControlPaint y las API temáticas provistas por el espacio de nombres System.Windows.Forms.VisualStyles. Lo más notable es el VisualStyleElement.TrackBar.ThumbTop, VisualStyleElement.TrackBar.ThumbBottom y VisualStyleElement.TrackBar.Track para dibujar los pulgares y la pista, respectivamente.

Utiliza las llamadas ControlPaint para dibujar un marco y botones para la pista y los pulgares cuando el tema no está disponible (como en Win2k o cuando la creación de temas está desactivada).

+0

No he hecho algo como esto antes. Si dibujo todo por mí mismo, ¿hay alguna manera de obtener el comportamiento "estándar" para los tiempos y tics, o tendría que diseñar eso también? – Presidenten

+0

Desafortunadamente, necesitaría diseñarlo y codificarlo usted mismo. Hay estilos visuales para dibujar los tics cuando está disponible el tematizado, pero usted es responsable de determinar el diseño, manejar la interacción con el teclado y el mouse, etc. –

0

Puede dibujar su propio uso de ControlPaint para asegurarse de que la prestación está en consonancia con el resto de su interfaz de usuario.

+0

Nunca antes había usado ControlPaint. ¿Podría describir con un poco más de detalle cómo se haría? – Presidenten

Cuestiones relacionadas