сохранение относительного положения pictureBox при изменении размера формы - PullRequest
0 голосов
/ 19 ноября 2010

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

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

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

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

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

1 Ответ

4 голосов
/ 19 ноября 2010

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

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

...