Сделать изображение прокручиваемым - PullRequest
2 голосов
/ 10 сентября 2011

У меня есть TabPageControl и некоторые TabPages внутри него.Мне нужно поместить большое изображение на вкладку и менять его каждые 30 секунд, и я хочу видеть только часть изображения.Так что мне нужна прокрутка.Но у меня следующая проблема: когда я перемещаю полосы прокрутки, изображение исчезает или смазывается 1 черной полосой.Я погуглил эту проблему, но не нашел информации.

Ответы [ 2 ]

4 голосов
/ 10 сентября 2011

Я бы посоветовал вам использовать PictureBox для этого.

Установите для свойства TabPage.AutoScroll значение true, при этом на вкладке будут отображаться полосы прокрутки, если содержимое больше, чем вкладка.

Установите для PictureBox.SizeMode значение PictureBoxSizeMode.AutoSize, при этом для элемента управления Picture box его размер будет соответствовать размеру загруженного изображения. Если поле рисунка больше, чем страница вкладки, на которой он находится, на странице вкладки отобразятся необходимые полосы прокрутки, и они должны работать как положено.

  tabPage1.AutoScroll = true;
  pictureBox1.SizeMode = PictureBoxSizeMode.AutoSize;

Затем вы можете нарисовать на картинке поле, если требуется. Обычно вы делаете этот рисунок в событии Paint в графическом окне.

0 голосов
/ 13 апреля 2016

Другое предложение заключается в том, чтобы поместить коробку с изображением внутрь FlolayoutPanel. Установите автоматическую прокрутку панели Flolayout на true и установите режим размера изображения на обычный

...