- PR -

MDI子フォームの最大化

1
投稿者投稿内容
TTC
会議室デビュー日: 2004/02/24
投稿数: 2
投稿日時: 2004-02-24 23:47
初めて投稿させていただきます。

VB.NETでキャプションバーを表示せずに、MDI親フォーム内で
MDI子フォームを最大化する方法がわかりません。

子フォームのControlBox、Minimizebox、MaximizeBoxは全て
Faleに設定しましたが「元の大きさに戻すボタン」が表示されてしまいます。

最大化は子フォームのWindowState=Maximizedで行っています。

VB6だとこれで出来たのですがVB.NETだと他に何が必要なのでしょうか?
どなたかご存知の方がいらっしゃいましたら、どうかご享受願います。

よろしくお願いします。
TTC
会議室デビュー日: 2004/02/24
投稿数: 2
投稿日時: 2004-03-12 21:25
すっかりほったらかしにしていましたが、自己レスです。
子フォームのFormLoadイベントに下記3行で良いみたいです。

'これはデザインでもコードでもどっちでもいいみたい。
'MaximizeBoxと,MinimizeBoxはTrueのままでも問題ないみたい。
Me.ControlBox = False

'明示的に「FormBorderStyle.FixedToolWindow」をコード指定
'しないと駄目っぽい。ちなみにデザイン上は何でも良いみたい
Me.FormBorderStyle = FormBorderStyle.FixedToolWindow

'これも明示的にコードで指定しないと駄目。
'しかもデザイン上は「FormWindowState.Normal」じゃないと駄目。
Me.WindowState = FormWindowState.Maximized

特に「Me.WindowState = FormWindowState.Maximized」の部分は
何故そうなのかはさっぱりわかりませんし調べるつもりもないです。
それから、レガシコントロールをフォームに貼っている場合は
これでもうまく行きませんが、パネルに貼り付ける形を取ることで
回避できるようです。

1

スキルアップ/キャリアアップ(JOB@IT)