- - PR -
【C#】windowsFormのサイズ指定
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-01-16 22:41
お世話になります。
C#.NETで開発をしています。 フォームのサイズを以下のように指定しています。 this.Size = new Size(rec.Width, 10);//rec.Widthには1024が格納されています。 コンパイルも正常に通り、実際にフォームが表示されると、 Sizeのheightを10と指定したのにもかかわらず、 30ピクセル程度までしか小さく表示されません。 試しにnew Size(rec.Width, 100)などとしますと 確かに高さが100ピクセル表示されます。 デザイナ画面では1ピクセルまで縮める事ができていたので 問題ないかと考えていたのですが、、 なぜ1024,10というフォームを作成する事ができないのか わからず、質問させていただいた次第です。 追伸・・ フォームのデザイナで、FormBorderStyleをNoneに指定しています。 タイトルバーがあってはならない為です。 | ||||||||
|
投稿日時: 2006-01-16 23:39
これは、InitializeComponent メソッド内でやっているからですね。 Load イベントなどでやってみてください。 こうなってしまう理由は、自動生成される ClientSize のコードが、 FormBorderStyle プロパティの前になっているためです。
この順番ですと、FormBorderStyle が規定値である、Sizable の状態になっているため、 フォームのボタンが考慮されてしまい、8 ピクセルになることはあり得ません。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2006-01-16 23:48
じゃんぬっとさん、
ご指摘ありがとうございます。 全ておっしゃるとおりでした。 私の疑問は全て解決しました。 以前もアドバイス頂いたことがあるのですが、 私が現在陥っているであろう核の部分を「推測させる」という 作業をじゃんぬさんに押し付けてしまいました。 すみませんでした。 そしてとてもありがたく思います。 このたびはありがとうございました。 また何かございましたらよろしくお願いいたします。 | ||||||||
|
投稿日時: 2006-01-16 23:56
そういうわけでして、干渉するプロパティがある場合は Load イベントで行うか、 MyInitializeComponent なメソッドを作ってそこで後回しさせます。 # 名前違ってるw
いえ、気になさらないでください。 こちらも、それで勉強になっているのです。 後々、同じ問題にぶつかった人のためにも、 情報は最初の時点で提供して欲しいんですが、完璧にこなすのは難しいです。 (それができるくらいなら、自己解決してそう) 何か問題があった場合に、結論に至るまでの過程が判れば十分ではないかと思います。 個人的な意見ですが、私はそのように考えています。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2006-01-17 00:09
。。
じゃんぬねっとさん。。 先ほどじゃんぬさんのサイトで色々と細かいTIPSを勉強させていただいたのに、 一番間違っちゃいけない部分を。。 すみませんでしたm(_ _)m 誠に勝手ながらいつも憧れさせていただいております。 このような公な掲示板でのお振舞いなども、実は勉強させていただいています。 これからも運営など色々とご苦労がありますでしょうが、 お体お気をつけになり、頑張ってください。 ありがとうございました。 |
1