DOBON.NET DOBON.NETプログラミング掲示板過去ログ

ウインドウの最大化に合わせてコントロールも最大化

環境/言語:[WindowsXP VisualStudio.Net2003]
分類:[.NET]

いつもお世話になっております。

ウインドウを最大化する際にフォームの中にあるテキストボックスや
ラベルなども同じように大きくできるよい方法ってありますでしょうか?
640X480をそのまま1024X768に見た目を拡大した感じです。
簡単な方法ありましたら教えてください。

よろしくお願いします。
■No6108に返信(fukuさんの記事)
> いつもお世話になっております。
>
> ウインドウを最大化する際にフォームの中にあるテキストボックスや
> ラベルなども同じように大きくできるよい方法ってありますでしょうか?
> 640X480をそのまま1024X768に見た目を拡大した感じです。
> 簡単な方法ありましたら教えてください。
>
> よろしくお願いします。

いやいや、Anchorプロパティを使用してはいけないのですか? :-P
> いやいや、Anchorプロパティを使用してはいけないのですか? :-P

横に2つテキストボックスがある場合とかAnchorだと
うまくいかない様な気がしたもので・・・。
右のテキストボックスに右からのAnchor
左のテキストボックスに左のAnchor
を設定した場合で最大化すると真ん中が開いてしまうんですが・・・。
隣のテキストボックスとの位置関係まで指定することは可能なのでしょうか?
■No6112に返信(fukuさんの記事)
>>いやいや、Anchorプロパティを使用してはいけないのですか? :-P
>
> 横に2つテキストボックスがある場合とかAnchorだと
> うまくいかない様な気がしたもので・・・。
> 右のテキストボックスに右からのAnchor
> 左のテキストボックスに左のAnchor
> を設定した場合で最大化すると真ん中が開いてしまうんですが・・・。
> 隣のテキストボックスとの位置関係まで指定することは可能なのでしょうか?

コントロールとの「距離」を保つのはAnchorではムリですね。
ウィンドウに対しての「位置関係」はある意味保っているから不都合が出ますね。
おそらく、サイズを大きくして「距離」はそのままにってことでしょうか。

# 拡大すると最大文字数がわかりづらくなるのでお勧めしませんが。

左側のAnchorをLeft, Right, Top、右側以降はTop, Rightとしておいて、
左側のコントロールのLeft位置 + サイズとの距離を保ては出来そうですが。
(さらに、高さまでサイズを変える(Bottom)となるととても大変です)
それだったら、Size変更が行われた時に手で、やるべきなのでしょうか...
まあチラツキを抑える工夫と、コントロールの構造解析に手間取りそうですが...

> 640X480をそのまま1024X768に見た目を拡大した感じです。

これを見る限りだと、解像度対応とかなのでしょうか?
それならば別の方法をお勧めしますが...。

# 見た目を拡大といえばVB6時代に解像度対応でやったことが...。
> これを見る限りだと、解像度対応とかなのでしょうか?
> それならば別の方法をお勧めしますが...。
>
> # 見た目を拡大といえばVB6時代に解像度対応でやったことが...。

そうなんですよ。
解像度によって画面の内容を変化するようしたいのですが
方法がわからず困っていました・・・。
ロジックでガリガリ書いても良いのですが
別に簡単な方法があったとしたら
もったいないので質問させていただきました。
フォームのフォントサイズをいじることができたら
全体的にフォントサイズを大きくはできるみたいなのですが・・・。
これをうまく使えないですかねー?
■No6116に返信(fukuさんの記事)
> そうなんですよ。
> 解像度によって画面の内容を変化するようしたいのですが
> 方法がわからず困っていました・・・。
> ロジックでガリガリ書いても良いのですが
> 別に簡単な方法があったとしたら
> もったいないので質問させていただきました。
> フォームのフォントサイズをいじることができたら
> 全体的にフォントサイズを大きくはできるみたいなのですが・・・。
> これをうまく使えないですかねー?

Heightが決まってるコントロール(TextBox)などはできますが、
Buttonなどのコントロールは大きさが変わらないはずですよ。
(変わってもらうと困る場合が多いからでしょう)

それでもいいのなら、うまく微調整すればイケるかもしれません。
2つの解像度だけだったら、あまり考慮しなくて良いハズだし。
ただ、Sizableなフォームにする場合は不可能です。

ただ、やはり比率で見たほうが良いような安全な気がします。
解像度は、Screenで取得できますので、それをForm::Loadなりで、
コントロールの位置関係とサイズを、解像度の大きさに合わせて、
その「比率」で初期化するようにしてはダメですか?

DOBON.NET | プログラミング道 | プログラミング掲示板