PictureBoxコントロールの移動(プロパティ変更)
・Left, Topプロパティの変更により、PictureBoxをプログラムで瞬間移動してみよう。
・Width, Heightプロパティにより、PictureBoxの大きさを知ろう。
○PictureBoxの位置制御;Left, Topプロパティ
- PictureBoxコントロールの位置は、LeftプロパティとTopプロパティで表現されている。
- これは、これらのプロパティをプログラムで変更すると、位置を変更することができるという意味になる。
- Picture1という名前のピクチャーボックスコントロールのLeftプロパティを例えば0に変更するには、
Picture1.Left = 0
とすればよい。
- この一行が実行されると、現在の位置によらず、直ちにPicture1は左側に寄せられる。
- つまり、Leftプロパティは、そのコントロールのFormウィンドウの左側(X軸方向)からの長さ(距離)を示す。
- 一方、Topプロパティは、そのコントロールのFormウィンドウの上側(Y軸方向)からの長さ(距離)を示す。
- Picture1.Left = 0
Picture1.Top = 0
という2行が実行されると、結果として、一番左の一番上、つまり、左上に移動する。
- Picture1.Left = ScaleWidth
Picture1.Top = ScaleHeight
という2行が実行されると、結果として、一番右の一番下に移動する。
しかし、残念ながら画面からは消えてしまう。これはPicture1の左端が画面の一番右になってしまうからである。
ぴったりと画面の右下に移動するには、以下のPictureBoxの大きさを考慮にいれる必要がある。
○PictureBoxの大きさ;Width, Heightプロパティ
- ピクチャーボックスコントロールの大きさ、つまり幅と高さは、それぞれ WidthプロパティとHeightプロパティによって示される。
- プログラム内で大きさを変えることも勿論可能ではあるが、ここでは単に参照するだけとする。
- Picture1という名前のピクチャーボックスコントロールの、幅は、Picture1.Width で参照することができる。
- 例えば、Picture1という名前のピクチャーボックスコントロールを、Formウィンドウの一番右に位置させるためには、Leftプロパティをどのようにしたらよいであろうか?
- Formウィンドウの幅は、ScaleWidthプロパティで知ることができることをまずは思い出そう。
- Picture1.Left = ScaleWidth
としたらどうなるであろうか?
- この場合、残念ながらPicture1は見えなくなってしまう。
- ぴったりと右側にしたい場合は次のように考える。
- Picture1の右側をScaleWidthにしたいが、残念ながらRightプロパティというのはない。
そこで、Picture1の右側のX座標が Picture1.Left + Picture1.Width であることを利用する。
- とすれば、Picture1.Left = ScaleWidth - Picture1.Width ということになる。
- では、Picture1をぎりぎり一番下に位置させるにはどのようにさせたらよいだろうか?
- FormとPictureBoxとの位置大きさ座標関連をまとめると次のような図で示される。

教科書;
6-2 座標を理解しよう p196
[「C班」プログラミング基礎のTopに戻る]