- - PR -
[VB.NET/Windows Application] MDI Containerの使い方について
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-04-25 02:45
作成方法はMDI ContainerをTrueにし、子フォームを親フォーム内に作成/追加することで 子フォーム名.Show()で表示させるのは分かったのですが・・・子フォーム名.Hide() で隠し、子フォーム名.Show()で表示。ですが、ALT-F4でお馴染みの右上の赤ペケを押して閉じた場合 子フォーム.Show() を実行するボタンを押しても再起動しないと再表示されないのですが。
何かコード必要なのでしょうか?ちなみに下記がサンプルコードです Dim Child As New Form2() Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Child.MdiParent = Me End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Child.Show() End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Child.Hide() End Sub | ||||||||
|
投稿日時: 2005-04-25 03:23
仕様です。 _________________ // 渋木宏明 (Hiroaki SHIBUKI) // http://hidori.jp/ // Microsoft MVP for Visual C# // // @IT会議室 RSS 配信中: http://hidori.jp/rss/atmarkIT/ | ||||||||
|
投稿日時: 2005-04-25 05:05
再表示させる方法は無いのですか? | ||||||||
|
投稿日時: 2005-04-25 05:25
無いです。 Closing イベントで Hide() するなど、自分で工夫するほかありません。 _________________ // 渋木宏明 (Hiroaki SHIBUKI) // http://hidori.jp/ // Microsoft MVP for Visual C# // // @IT会議室 RSS 配信中: http://hidori.jp/rss/atmarkIT/ | ||||||||
|
投稿日時: 2005-04-25 07:13
ん〜、マニュアルには赤ペケを押しても閉じないようにできるコード Private Sub Form2_Closing(略) Handles MyBase.Closing e.Cancel = True End Sub があるのですが、これだと親フォームまで影響がでて Application.Exit() を使用しないと閉じないみたいですね。代わりに Form2 の ControlBox だけを False にすれば初期に表示されたとき 最小化・最大化・閉じる の3つは表示されません。ここまではわかりました。フォームをダブルクリックすれば3つが表示され、元に戻すと赤ペケだけが無効状態になってました。一応これは望んでいた状態ですが・・・ そこで考えたのですが、この ControlBox を無効にせずに赤ペケだけを無効にする方法はありますか? |
1