- 題名: 親フォームの最小化
- 日時: 2011/04/06 15:00:54
- ID: 28407
- この記事の返信元:
- (なし)
- この記事への返信:
- [28408] Re[1]: 親フォームの最小化2011/04/06 15:37:56
- [28409] Re[1]: 親フォームの最小化2011/04/06 15:47:31
- ツリーを表示
■No28407に返信(ふぇあさんの記事)
親フォームの最小化は出来ないです。非表示なら出来そうです。
Public Class Form1
Private WithEvents m_fm2 As Form2
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
m_fm2 = New Form2
m_fm2.ShowDialog(Me)
'--- Form2が閉じられたときの処理
m_fm2.Dispose()
End Sub
Private Sub m_fm2_SizeChanged(sender As Object, e As System.EventArgs) Handles m_fm2.SizeChanged
If m_fm2.WindowState = FormWindowState.Minimized Then
'Me.WindowState = FormWindowState.Minimized '<-- これをやるとForm2はForm1から離れてHide状態になる。
'-----------------------------------------------------Button1クリックのDisposeへ制御が移る
Me.Hide()
ElseIf Not Me.Visible Then
Me.Visible = True
End If
End Sub
End Class
■No28411に返信(ふぇあさんの記事)
> じゃんぬねっと様、shu様、お早いお返事ありがとうございます。
>
> ■No28409に返信(shuさんの記事)
> 参考にさせて頂きます。
> 追加の質問なのですが、親フォーム、子フォーム、孫フォームまであって
> 孫で最小化されたら親子全て隠すことは出来ますでしょうか?
> 知識不足ですいません。
何階層でも試せるよう、同じフォームを開くようにしてあります。
VisibleChangedイベントを追加
Public Class Form1
Private WithEvents m_fm2 As Form1
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
m_fm2 = New Form1
m_fm2.ShowDialog(Me)
'--- Form2が閉じられたときの処理
m_fm2.Dispose()
End Sub
Private Sub m_fm2_SizeChanged(sender As Object, e As System.EventArgs) Handles m_fm2.SizeChanged
If m_fm2.WindowState = FormWindowState.Minimized Then
Me.Hide()
ElseIf Not Me.Visible Then
Me.Visible = True
End If
End Sub
Private Sub m_fm2_VisibleChanged(sender As Object, e As System.EventArgs) Handles m_fm2.VisibleChanged
'--- 中間のフォームの可視が変わった場合、自分も合わせる
If m_fm2.OwnedForms.Count > 0 Then
If m_fm2.Visible Then
If Not Me.Visible Then
Me.Visible = True
End If
Else
If Me.Visible Then
Me.Hide()
End If
End If
End If
End Sub
End Class
分類:[.NET]
親フォームから子フォームをShowDialogで起動する画面があるのですが、
子フォームを最小化すると親フォームは最小化せず画面に残ったままで
使用不可の状態なのですが、これを親フォームも同時に最小化するように
したいのですができるのでしょうか?
タスクバーから最大化する際には親子とも最大化して子フォームが使用可能
になって欲しいです。親フォームは使用不可能がいいです。showは使用したく
ないです。