调整窗体大小时保持pictureBox的相对位置

时间:2010-11-19 16:52:19

标签: c# forms resize picturebox

在Window Forms中,我将一个pictureBox作为背景图像。然后,我已经做到这一点,如果我调整窗口大小,图像会拉伸并在我调整大小时变大,并且整个图片总是填满整个表单。为此,我使用了以下代码:

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

我没有任何问题只是因为图像填满了整个窗口。

然而,我现在要做的是放置另一个(较小的)pictureBox,它将比Form的中心高出20 px,并且在我调整窗口大小时也会适当伸展,并且总是无论我调整多少,都要稍微高于表格的中心。

问题是我无法设置pictureBox的Location属性,因为那时位置是绝对的,当我调整窗口大小时图像不会拉伸并保持在中心,但是会保留在原来的位置,根据窗口的x和y坐标。我想要的是根据我拉伸和移动窗口的方式拉伸和移动图片,就像我已经设法处理背景中的图像一样。

1 个答案:

答案 0 :(得分:4)

将图像框放在您想要的图像上,然后将Anchor proprety设置为顶部,底部,右侧和左侧。通过将其固定到所有四个边,它将在窗体调整大小时拉伸和缩小。

将这些与MinimumSize和MaximumSize属性结合使用可防止图像变得太小或太大。