Form002.01. コントロールのサイズ・位置を変更する

過去のブログのアーカイブ
この記事は前身のブログのアーカイブを引き継いだものです. 画像が正しく表示できないなど,コンテンツの表示に問題がある恐れがあります.

コントロール設置の基本、コントロールの場所とサイズを変更するにはSizeプロパティ・Locationプロパティを使用します。

Sizeプロパティ

Sizeプロパティは、Size構造体で設定・取得します。

サイズを設定する

例えば、横100px、縦50pxのサイズにするにはこのようなコードを書きます。

button.Size = new Size(100, 50);

縦と横を同時に設定するにはこのようにします。
横だけ、または縦だけ設定する場合はこのような書き方もできます。

button1.Width = 100;
button1.Height = 50;

ただし、このような書き方はできません。

// ダメな例
button1.Size.Width = 100;
button1.Size.Height = 50;

このように、Sizeプロパティを通じてどちらか片方だけ設定するという方法はできません。そういう仕様なのです。

サイズを取得する

取得する場合は数値だけ取得する方法もあります。

// 横の長さを取得する
int w = button1.Size.Width;
又は
int w = button1.Width;
// 縦の長さを取得する
int h = button1.Size.Height;
又は
int h = button1.Height;
// サイズを構造体で取得する
Size s = button.Size;

このようにすれば取得することもできます。
なぜ、設定の時は数値だけで設定できないのかといいますと、そういう仕様だからです。

Locationプロパティ

今度はコントロールの位置を取得する方法です。
まずプログラムでの位置の指定方法の注意点なのですが、数学とかのああx,y座標とhじゃ考え方が少し違います。
数学の場合は、左下から上・右に向かってプラスでしたね。
ただ、プログラムでは左上から下・右に向かってプラスです。この辺り注意してください。
d21

位置を設定する

サイズの時とにた感じですが、Point構造体を使います。
(x, y)を(100, 50)に設定するにはこのようにします。

button1.Location= new Point(100, 50);

こちらはサイズと違って、どちらか片方だけを設定するということはできません。
なので面倒ですが、例えばyを100にするというコードを書きたければこのように書きます。

button1.Location= new Point(button1.Location.X, 100);

位置を取得する

感覚はサイズと同じです。ただし、こちらは毎回Locationプロパティを通じて取得しましょう。

// 位置を構造体で取得する
Point pos = button1.Location;
// X座標を取得する
int x = button1.Location.X;
// Y座標を取得する
int y = button1.Location.Y;

このようにして取得することができます。