C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: ウインドウを最大化した時の中央配置


(過去ログ 91 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■54085 / inTopicNo.1)  ウインドウを最大化した時の中央配置
  
□投稿者/ まっさ (2回)-(2010/10/04(Mon) 22:30:07)

分類:[C#] 

今までASP.NETで開発してこなかったので
WindowsFormアプリは初めてでわからないことが多いです。

ウインドウを最大化した時の中央配置はどうすればよいの
でしょうか?

Windows.formにLabelとかボタンとか置いています。
Form最大化すると、左上にそれが集まり、バランスが悪いです。

中央に表示するには?

Panelに配置したら出来るのか?と思ったのですが
PanelをWindowsForm上で中央配置するプロパティが無いようです。

このアプリは色々な解像度で使うので、座標指定では出来ないのです。


引用返信 編集キー/
■54089 / inTopicNo.2)  Re[1]: ウインドウを最大化した時の中央配置
□投稿者/ 魔界の仮面弁士 (1848回)-(2010/10/04(Mon) 23:13:36)
2010/10/04(Mon) 23:14:13 編集(投稿者)

No54085 (まっさ さん) に返信
> 今までASP.NETで開発してこなかったので
> WindowsFormアプリは初めてでわからないことが多いです。
ASP.NET も WinForm も初めてという事でしょうか?
今回の質問は、Windows Form のことで良いのですよね。


> ウインドウを最大化した時の中央配置はどうすればよいの
> でしょうか?
フォームそのものであれば、StartPosition プロパティです。
コントロールであれば、TableLayoutPanel を併用して配置してみてください。
引用返信 編集キー/
■54126 / inTopicNo.3)  Re[2]: ウインドウを最大化した時の中央配置
□投稿者/ まっさ (3回)-(2010/10/05(Tue) 22:03:38)
お返事ありがとうございます。

> ■No54085 (まっさ さん) に返信
>>今までASP.NETで開発してこなかったので
>>WindowsFormアプリは初めてでわからないことが多いです。
> ASP.NET も WinForm も初めてという事でしょうか?
> 今回の質問は、Windows Form のことで良いのですよね。
>

すいません、タイプミスです。
ASP.NETの経験はあります。

>
>>ウインドウを最大化した時の中央配置はどうすればよいの
>>でしょうか?
> フォームそのものであれば、StartPosition プロパティです。
> コントロールであれば、TableLayoutPanel を併用して配置してみてください。


TableLayoutPanelをWindowsFormに配置しても、最大化したときに
、それが中央に来ないんです。
フォームそのものはStartPositionでたしかに中央に表示されます。

なんとかならないのでしょうか?

よろしくお願いいたします

引用返信 編集キー/
■54133 / inTopicNo.4)  Re[3]: ウインドウを最大化した時の中央配置
□投稿者/ 魔界の仮面弁士 (1853回)-(2010/10/06(Wed) 09:46:13)
No54126 (まっさ さん) に返信
> TableLayoutPanelをWindowsFormに配置しても、最大化したときに
> 、それが中央に来ないんです。

コントロールの配置によっては、TableLayoutPanel を使う必要が無いケースもあります。
Anchor プロパティを利用して、フォームサイズに合わせて自動的にサイズや位置が
補正されるようにしてみてください。

Anchor を使うと、フォームの端とコントロールの端との距離が固定されます。

たとえば、フォームにボタンをひとつだけ配置してみてください。
既定では左/上がロックされており、フォームがリサイズされた場合でも、
常にコントロールの座標もサイズも変化しない状態になっています。

ここで、Anchorを上下左右すべてロックしておくと、フォームの端から
コントロールまでの距離がそれぞれ固定化されるため、上下左右に
伸び縮みするような効果が得られます。
(この場合、Dock と Margin を使って同じような動作を得ることもできます)

逆に、Anchor でどこも固定しない(None)場合には、コントロールは
リサイズされませんが、位置が自動的に変化するようになります。


コントロールの配置状況によっては、TableLayout を使った方が配置しやすい場合もあります。
TableLayout を使った場合、セル内のコントロールの Anchor プロパティは、
 Top, Left の場合 → セルの左上に配置。サイズはコントロールの Size で固定。
 None の場合 → セルの中央に配置。サイズはコントロールの Size で固定。
 全指定の場合 → セルいっぱいに配置。コントロールの Size は無視される。
のように動作します。セル内に配置したコントロールについて、周辺に少し余白を
持たせたい場合には、Margin プロパティを指定しておいてください。

また、TableLayout 自体の Anchor プロパティも忘れずに設定しておいてください。
引用返信 編集キー/
■54208 / inTopicNo.5)  Re[4]: ウインドウを最大化した時の中央配置
□投稿者/ まっさ (4回)-(2010/10/09(Sat) 01:21:50)
魔界の仮面弁士さん
ありがとうございます。

WindowsFormでの配置に仕方の思想(といっていいのか・・?)
がわかってきたような気がします。

色々と試行錯誤してみます。
ていねいな説明ありがとうございました。

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -