c# winforms scroll scrollbar picturebox

c# - ¿Cómo puedo obtener barras de desplazamiento en Picturebox



winforms scroll (4)

Aquí hay un proyecto donde un chico creó un control de usuario de ImagePanel que puede colocar en un formulario; te da barras de desplazamiento y capacidad de zoom.

http://www.codeproject.com/KB/graphics/YLScsImagePanel.aspx

Tengo PictureBox picture .

Yo suelo:

picture.Size = bmp.Size; picture.Image = bmp;

Digamos que hay dos enteros maxWidth y maxHeigth .
Quiero agregar barra de desplazamiento vertical / horizontal a la picture cuando su tamaño exceda maxWidth y / o maxHeight . ¿Cómo puedo hacer eso?


Lo hice funcionar al poner también una caja de imágenes dentro de un panel de control, establecí la propiedad AutoScroll del Panel en verdadero, pero también configuré la propiedad Autosize del Panel en True y la propiedad Dock del Panel en Relleno (de esa manera cuando el usuario cambia el tamaño del formulario - también lo hará el Panel). Para Picturebox, establecí su propiedad Dock en None, y SizeMode en Autosize (por lo que también cambia de tamaño cuando el Panel y el formulario cambian de tamaño. Funcionó como un amuleto, la Picturebox tiene barras de desplazamiento y cuando el usuario cambia el tamaño del formulario, todo sigue igual colocado correctamente!


Otra sugerencia es colocar la caja de imágenes dentro de un FlowlayoutPanel.

Establezca el desplazamiento automático del FlowlayoutPanel en verdadero y establezca el modo de tamaño de la imagen en normal

El uso de un FlowlayoutPanel asegura que la imagen esté siempre a 0,0 en el panel


Puedes hacerlo fácilmente con un Panel Control

Inserte un panel en su formulario, diga panel1 y establezca

panel1.AutoScroll = true;

inserte un PictureBox en el Panel , diga la imagen y establezca

picture.SizeMode = PictureBoxSizeMode.AutoSize;

y establecer la imagen

picture.Image = bmp;

espero que esto ayude