Подтвердить что ты не робот

Как я могу получить полосы прокрутки в Picturebox

У меня PictureBox picture.

Я использую:

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

Скажем, есть два целых числа maxWidth и maxHeigth.
Я хочу добавить вертикальную/горизонтальную полосу прокрутки к picture, когда ее размер превышает maxWidth и/или maxHeight. Как я могу это сделать?

4b9b3361

Ответ 1

Вы можете легко сделать это с помощью Panel Control

Вставьте панель в свою форму, скажем панель 1 и установите

panel1.AutoScroll = true;

вставьте PictureBox в Panel, скажем изображение и установите

picture.SizeMode = PictureBoxSizeMode.AutoSize;

и установите Image

picture.Image = bmp;

надеюсь, что это поможет

Ответ 2

Здесь проект, в котором парень создал пользовательский элемент управления ImagePanel, который можно опустить на форму; это дает вам полосы прокрутки и возможности масштабирования.

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

Ответ 3

Другое предложение - поместить изображение в панель FlowlayoutPanel.

Установите для Auto прокрутки FlowlayoutPanel значение true и установите режим размера изображения в обычном режиме

Использование FlowlayoutPanel гарантирует, что изображение всегда находится на уровне 0,0 на панели

Ответ 4

Я получил его, чтобы работать, также помещая картинку в панель управления, я установил свойство Panel AutoScroll в значение true, но я также установил свойство Panel Autosize равным True, а свойство Panel Dock - заполнить (таким образом, когда пользователь изменяет размер формы - так же будет и панель). Для Picturebox я установил для него свойство Dock равным None, а SizeMode - Autosize (поэтому он изменяется также при изменении размера панели и формы. Он работал как шарм, Picturebox имел полосы прокрутки и когда пользователь меняет размер формы - все по-прежнему правильно установлен!