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.
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