Как я могу получить полосы прокрутки на Picturebox
Я PictureBox picture.
Я использую:
picture.Size = bmp.Size;
picture.Image = bmp;
допустим есть два числа maxWidth и maxHeigth.
Я хочу добавить вертикальную / горизонтальную полосу прокрутки в picture, когда его размер превышает maxWidth и/или maxHeight. Как я могу это сделать?
4 ответов:
вы можете легко сделать это с помощью
Panelуправлениявставьте панель в форму, скажите panel1 и установите
panel1.AutoScroll = true;вставить a
PictureBoxдоPanel, скажите изображение и установитеpicture.SizeMode = PictureBoxSizeMode.AutoSize;и установить изображение
picture.Image = bmp;надеюсь, что это помогает
вот проект, где парень построил
ImagePanelпользовательский элемент управления, который можно положить на форму; это дает вам прокрутки и возможности масштабирования.
Я получил его для работы, также поместив picturebox внутри элемента управления панели, я установил свойство AutoScroll панели в true, но я также установил свойство Autosize панели в True, а свойство Dock панели для заполнения (таким образом, когда пользователь изменяет размер формы - так будет панель). Для Picturebox я установил его свойство Dock в None, а SizeMode-в Autosize (поэтому он также изменяется при изменении размеров панели и формы. Он работал как шарм, Picturebox имеет полосы прокрутки и когда пользователь изменяет размер формы - все по-прежнему размещается правильно!
другое предложение-поставить элемент управления PictureBox внутри управления flowlayoutpanel .
настройки автоматической прокрутки элемент управления flowlayoutpanel true и установите режим размера изображения к нормальному
использование FlowlayoutPanel гарантирует, что изображение всегда находится на 0,0 в панели
Comments