VB.NETでMDIフォームを作成したのですが、子フォームの表示は最大で固定したいので
MaximizeBoxおよびMinimizeBoxをFalseに設定しました。
しかし、MeinMenuから子フォームを表示させたときに、メニューバーの【元のサイズに戻す】が
有効なため、子フォームのサイズ変更が可能になってしまいます。
MainMenuのの【元のサイズに戻】無効にする方法はないでしょうか。
ご教授願います。
動作はどうなるかわかりませんが、Resizeイベントでサイズ変更されたら最大化するようにしてみたらどうでしょうか
http://www.atmarkit.co.jp/fdotnet/dotnettips/142closebtn/closebtn.html
これを応用すればいけそうかな?
通ってみたさん、Hongliangさんレスありがとうございます。
遅くなりまして申し訳ございません。
システムメニューの閉じるボタン等は無効になったのですが、
アイコンから【元のサイズに戻す】が有効のままで、どうにも
無効にする方法がわかりませんでした。
そこで、MainMenuをやめてツールバーを作成し、子フォームを表示する
方法に変更しました。
しかし、各子フォームのControlBoxをFalseに設定してもシステムメニューが
表示さて、やはりアイコンから【元のサイズに戻す】が有効のままに
なってしまいます。
どうにも、システムメニューバーを表示しない方法はないでしょうか。
えーと、Resizeイベントを使う、という意味はわかっていただけたんでしょうか・・・
最大化、最小化、元の大きさに戻す、手動でフォームの枠の大きさを変更した、などの場合、WindowsStateが変更されたりしつつResizeイベントが発生します
それを拾って最大化ではない場合、強制的に最大化にすればいいのではないか、という意味です
「元のサイズに戻す」というコマンドを消去する方法ではありませんが、それではだめでしょうか?
すみません、どうせ使わせないならば最初から表示させないほうが
いいかと思いまして。
ほかに方法がなければ、最終的には通ってみたさんの言うとおり、
Reszeイベントを使用しようと思っています。
そっちはこちらかしらん。
http://santamartadotnet.hp.infoseek.co.jp/documents/dotnettips/tips000.html
アイコンを非表示にはできないですけど。
ツイート | ![]() |