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



Я PictureBox picture.



Я использую:



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


допустим есть два числа maxWidth и maxHeigth.

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

751   4  

4 ответов:

вы можете легко сделать это с помощью Panel управления

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

panel1.AutoScroll = true;

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

picture.SizeMode = PictureBoxSizeMode.AutoSize;

и установить изображение

picture.Image = bmp;

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

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

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

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

другое предложение-поставить элемент управления PictureBox внутри управления flowlayoutpanel .

настройки автоматической прокрутки элемент управления flowlayoutpanel true и установите режим размера изображения к нормальному

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

Comments

    Ничего не найдено.