2010-11-19 111 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

相關問題