C#_Form の内側サイズを取得、設定

Form や PictureBox などの Control には外サイズ内サイズがある。

ウィンドウ領域        :クライアント領域 + 非クライアント領域
クライアント領域    :自由に Control を配置できる領
非クライアント領域:タイトルバー、境界線

f:id:koshinRan:20170519012353j:plain   f:id:koshinRan:20170519012438j:plain

 

サイズ取得

クライアント領域

int w = ClientSize.Width;
int h = ClientSize.Height;
Size f = ClientSize;

//出力すると
//w:284
//h:251
//f:{Width=284, Height=251}

ウィンドウ領域サイズの場合は
ClientSize 」を「Size」に変更すれば取得できる。

上記は Form のサイズを取得した場合。
pictureBox などのサイズを取得する時は、「Control.ClientSize」とする。
ex) pictureBox1.ClisentSize

 

サイズ設定

クライアント領域

ClientSize = new Size(500, 200);

ウィンドウ領域サイズの場合は「 ClientSize 」を「Size」に変更。

上記もForm のサイズを設定した場合。
他の Control の場合は Control.ClientSize と書く。

尚、ウィンドウサイズはデザインのプロパティからも変更可能。
クライアント領域はプロパティに無かった。

f:id:koshinRan:20170520011012j:plain

 こちらから参照。
http://www.atmarkit.co.jp/ait/articles/0511/25/news108.html
http://jeanne.wankuma.com/tips/csharp/form/clientsize.html

 

以上。