2010-11-19 7 views
0

Windowフォームでは、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

+0

はそれに対処するために既に私の答えを更新しました:)デザイナーですべてを行うことができます –

関連する問題