2010-11-19 75 views
0

在Window Forms中,我将pictureBox作为背景图像。然后,我做了这样的事情,如果我调整窗口的大小,图像会随着调整大小而伸展并变得更大,并且整个图像总是填充整个窗体。为此,我使用了以下代码:在调整窗体大小时保持pictureBox的相对位置

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

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

但是,现在我想要做的是将另一个(较小的)pictureBox放在窗体中心的上方20px处,并且在调整窗口大小时也会适当拉伸,无论我调整大小,总是保持略高于表格的中心。

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

回答

4

将您的影像放在您想要的窗体上,然后将锚的属性设置为顶部,底部,右侧和左侧。通过将它固定在所有四面,随着表格大小的调整,它会拉伸和缩小。

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

+0

这是有效的,但我可以做到这一点,当我将窗口压缩在一起时,pictureBox不会消失,而是具有某种设定的最小尺寸,低于此尺寸将永远不会去? – NoelAramis 2010-11-19 17:03:38

+0

已经更新了我的答案,以解决这个问题:)一切都可以在设计师完成 – 2010-11-19 17:04:27

相关问题