MainMenuのの元のサイズに戻すを無効にするには


コパ  2006-04-25 20:00:00  No: 131096

VB.NETでMDIフォームを作成したのですが、子フォームの表示は最大で固定したいので
MaximizeBoxおよびMinimizeBoxをFalseに設定しました。
しかし、MeinMenuから子フォームを表示させたときに、メニューバーの【元のサイズに戻す】が
有効なため、子フォームのサイズ変更が可能になってしまいます。
MainMenuのの【元のサイズに戻】無効にする方法はないでしょうか。
ご教授願います。


通ってみた  2006-04-25 21:51:57  No: 131097

動作はどうなるかわかりませんが、Resizeイベントでサイズ変更されたら最大化するようにしてみたらどうでしょうか


Hongliang  URL  2006-04-25 23:49:42  No: 131098

http://www.atmarkit.co.jp/fdotnet/dotnettips/142closebtn/closebtn.html
これを応用すればいけそうかな?


コパ  2006-04-27 01:29:36  No: 131099

通ってみたさん、Hongliangさんレスありがとうございます。
遅くなりまして申し訳ございません。
システムメニューの閉じるボタン等は無効になったのですが、
アイコンから【元のサイズに戻す】が有効のままで、どうにも
無効にする方法がわかりませんでした。
そこで、MainMenuをやめてツールバーを作成し、子フォームを表示する
方法に変更しました。
しかし、各子フォームのControlBoxをFalseに設定してもシステムメニューが
表示さて、やはりアイコンから【元のサイズに戻す】が有効のままに
なってしまいます。
どうにも、システムメニューバーを表示しない方法はないでしょうか。


通ってみた  2006-04-27 01:42:32  No: 131100

えーと、Resizeイベントを使う、という意味はわかっていただけたんでしょうか・・・

最大化、最小化、元の大きさに戻す、手動でフォームの枠の大きさを変更した、などの場合、WindowsStateが変更されたりしつつResizeイベントが発生します
それを拾って最大化ではない場合、強制的に最大化にすればいいのではないか、という意味です

「元のサイズに戻す」というコマンドを消去する方法ではありませんが、それではだめでしょうか?


コパ  2006-04-27 01:51:19  No: 131101

すみません、どうせ使わせないならば最初から表示させないほうが
いいかと思いまして。
ほかに方法がなければ、最終的には通ってみたさんの言うとおり、
Reszeイベントを使用しようと思っています。


Hongliang  URL  2006-04-27 03:42:06  No: 131102

そっちはこちらかしらん。
http://santamartadotnet.hp.infoseek.co.jp/documents/dotnettips/tips000.html
アイコンを非表示にはできないですけど。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加