2010-11-19 5 views
0

В Window Forms я поместил pictureBox в качестве фонового изображения. Затем я сделал так, чтобы, если я изменяю размер окна, изображение растягивается и увеличивается, когда я изменяю его размер, и что вся картинка всегда заполняет всю форму. Для этого я использовал следующий код:Сохранение относительного положения pictureBox при изменении размера формы

  image.Dock = DockStyle.Fill; 
    image.Anchor = AnchorStyles.Top | AnchorStyles.Left; 
    image.SizeMode = PictureBoxSizeMode.StretchImage;

меня не было никаких проблем с этим вообще просто потому, что образ заполнения всего окна.

Теперь я хочу сделать еще одно (меньшее) pictureBox, это будет ровно 20 px над центром формы, а также будет растягиваться соответствующим образом при изменении размера окна. всегда оставайтесь немного выше центра формы, независимо от того, насколько я ее изменяю.

Дело в том, что я не могу установить свойство Location для pictureBox, потому что тогда позиция является абсолютной, и изображение не будет растягиваться и оставаться в центре, когда я изменяю размер окна, но остаюсь там, где он есть, согласно координаты x и y окна. Я хочу, чтобы изображение растягивалось и двигалось в соответствии с тем, как я растягиваю и перемещаю окно, точно так же, как мне удалось сделать изображение, которое у меня есть в фоновом режиме.

ответ

4

Расположите свой imagebox на форме, в которой вы хотите, затем установите привязку припретов вверх, вниз, вправо и влево. Прикрепляя его ко всем четырем сторонам, он будет растягиваться и сжиматься по мере изменения формы.

Используйте их в сочетании с свойствами MinimumSize и MaximumSize, чтобы изображение не становилось слишком маленьким или слишком большим.

+0

Это работает, но могу ли я сделать так, чтобы при сжатии окна pictureBox не исчезал, а скорее имел определенный минимальный размер, ниже которого он никогда не пойдет? – NoelAramis

+0

уже обновил мой ответ, чтобы иметь дело с этим:) Все может быть сделано в дизайнере –

Смежные вопросы