投稿日 | : 2007/06/26(Tue) 20:43 |
投稿者 | : KenPAPA |
Eメール | : |
URL | : |
タイトル | : Re^2: MDIフォームで子フォームが閉じられた時親フォームでのイベント |
魔界の仮面弁士様、ご回答有り難うございます。
> 「WithEvents」を使ってみては如何でしょう。
WithEventsを使ったことが無かったので悪戦苦闘しています。
以下のコードでも「複数のMDIフォームは使用できません。」が出てしまいました。
■Class1
------------------------------------------------
Private WithEvents mForm As Form
Public Property Set MyForm(objForm As Form)
Set mForm = objForm
End Property
Public Property Get MyForm() As Form
Set MyForm = mForm
End Property
Private Sub mForm_Unload(Cancel As Integer)
'子フォーム無くなったら、親フォームも消す
Dim myAri As Boolean
Dim Fm As Form
For Each Fm In Forms
If Not TypeOf Fm Is MDIForm Then
If Fm.Caption <> mForm.Caption Then
myAri = True
Exit For
End If
End If
Next
If myAri = False Then
Unload fMainForm
' End←←Endなら終了出来ますが・・・
End If
End Sub
------------------------------------------------
■子フォーム
------------------------------------------------
'General
Private objForm As Class1
Private Sub Form_Load()
Set objForm = New Class1
Set objForm.MyForm = Me
End Sub
------------------------------------------------
■Module1
------------------------------------------------
'General
Public fMainForm As frmMain
Sub Main()
Set fMainForm = New frmMain
fMainForm.Show
End Sub
------------------------------------------------
WithEventsの使い方がおかしいでしょうか?
Endで無理矢理終了なら出来ましたが、この場合何か問題が有るでしょうか?
宜しくお願い致します。