2010-11-29 19 views
20

Quiero ser capaz de utilizar un panel o similar para dibujar gráficos en un formulario. Parece que no veo nada con respecto a agregar barras de desplazamiento si los gráficos se vuelven más grandes que el control.panel C# para dibujar gráficos y desplazarse

¿Es posible hacer esto con un panel o hay un control similar que lo permita?

Gracias.

+2

¿Por qué alguien menospreció esto? Es una pregunta perfectamente razonable? –

Respuesta

18

Establezca la propiedad AutoScroll en verdadero y la propiedad AutoScrollMinSize en el tamaño de la imagen. Las barras de desplazamiento ahora aparecerán automáticamente cuando la imagen sea demasiado grande.

Querrá heredar su propia clase del Panel para que pueda establecer la propiedad DoubleBuffered en true en el constructor. El parpadeo sería notable de lo contrario. Algunos código de muestra:

+0

Gracias Hans. Voy a dar una oportunidad ahora. –

+0

Disculpe Hans ... la imagen que cabe en el panel se crea dinámicamente en tiempo de ejecución. Los gráficos se crean dependiendo de ciertos parámetros. ¿Esto todavía funcionaría? –

+1

Yah, asigne la propiedad de Imagen. Funciona tan bien en tiempo de diseño como en tiempo de ejecución. –

0

No estoy 100% seguro de lo que está tratando de lograr, pero aquí hay un SO question similar que podría ayudarle.

También podría intentar usar un PictureBox que cambiaría su tamaño manualmente a medida que los gráficos aumentan. Luego configure su forma AutoScroll en verdadero.

+0

No usaría el cuadro de imagen como un lienzo para dibujar. El cuadro de imagen es solo para mostrar imágenes. Ver, por ejemplo, el artículo de Bob Powell sobre este tema exacto. – Pedery