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

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

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

Re[1]: ウィンドウサイズ


(過去ログ 120 を表示中)

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

■70301 / inTopicNo.1)  ウィンドウサイズ
  
□投稿者/ せいや (1回)-(2014/03/09(Sun) 16:59:35)

分類:[.NET 全般] 

C#でアプリを開発しています。

とりあえず、作ったツールを使っていたのですが、右上の最大化ボタンを押して驚きました。ウィンドウ自体は大きくなっても中のTextBoxなどは一切おおきくならず無駄な余白が残りの画面を埋めたからです。
今まで、ウェブサイトなどは作ってきてブラウザの拡大縮小に合わせてくれるのは当然だとおもってきたのです・・・

調べてみると
switch (this.WindowState)
{
case FormWindowState.Normal:
Console.WriteLine("普通の状態です");
break;
case FormWindowState.Minimized:
Console.WriteLine("最小化されています");
break;
case FormWindowState.Maximized:
Console.WriteLine("最大化されています");
break;
}

このように、画面の状態を把握してそれにあったサイズになるようにプログラムしなければならないということでした。

しかし、世に出回っているフリーのアプリですら、最大化は普通にできるのが当然。
こんなよくある機能なら.net frameworkで、画面の比率に合わせて拡大される機能が
簡単実装できるようにされていてもいいのではないかと思うのですが、なぜないのでしょうか?

また、大きくするセオリーのような方法や「みんなこうする」っという方法はありますか?
すべてのラベルやテキストフォームを最大化したときのいい位置にもっていくのは結構大変です。
引用返信 編集キー/
■70302 / inTopicNo.2)  Re[1]: ウィンドウサイズ
□投稿者/ 魔界の仮面弁士 (556回)-(2014/03/09(Sun) 17:08:10)
No70301 (せいや さん) に返信
> ウィンドウ自体は大きくなっても中のTextBoxなどは一切おおきくならず
Anchor プロパティや Dock プロパティでは駄目ですか?

それで駄目な場合、サイズ変更を阻害する要素
(Label の AutoSize とか、TextBox の MultiLine など)を
確認してみてください。

また、Anchor や Dock ではレイアウトがうまく行かない場合、
TableLayoutPanel や FlowLayoutPanel を組み合わせることも
検討してみてください。
引用返信 編集キー/
■70303 / inTopicNo.3)  Re[1]: ウィンドウサイズ
□投稿者/ Hongliang (181回)-(2014/03/09(Sun) 17:09:52)
一般的には、Controlに用意されているDockプロパティやAnchorプロパティを使います。これらを使えば、フォームのサイズ変更に合わせて各コントロールの位置およびサイズが自動調整されます。
引用返信 編集キー/
■70306 / inTopicNo.4)  Re[1]: ウィンドウサイズ
□投稿者/ せいや (3回)-(2014/03/09(Sun) 19:00:31)
できましたー

ありがとうごうざいます☆
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -