Как я могу получить полосы прокрутки в Picturebox
У меня PictureBox picture
.
Я использую:
picture.Size = bmp.Size;
picture.Image = bmp;
Скажем, есть два целых числа maxWidth
и maxHeigth
.
Я хочу добавить вертикальную/горизонтальную полосу прокрутки к picture
, когда ее размер превышает maxWidth
и/или maxHeight
. Как я могу это сделать?
Ответы
Ответ 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 имел полосы прокрутки и когда пользователь меняет размер формы - все по-прежнему правильно установлен!