MDIフォームとユーザコントロール
VB.Netでの質問です。
ウィンドウメッセージを受け取りイベントを起こすユーザーコントロールクラス
Class UserCtl
Private Event MyKeyDown()
Private Sub UserCtl_KeyDown() as Handels MyBase.KeyDown
RaiseEvent MyKeyDown
End Sub
End Class
プロセスA
MDI子フォームにユーザーコントロールを追加し、子フォームにて、UserCtl.MyKeyDownイベントプロシージャでユーザーコントロールがウィンドウメッセージを受け取ったと認識し処理をします。
MDI子フォームはMDI親フォームより、CloseメソッドでしかCloseしません。
プロセスB
FindWindowでMDI親フォーム, FindWindowExでMDI子フォーム、ユーザーコントロールハンドルを確認した上で、ユーザーコントロールにウィンドウメッセージをPostMessageします。
質問1
プロセスBからハンドルを探していますが、ウィンドウハンドル,ユーザーコントロールハンドルはいつまで有効なハンドルなのでしょうか?
Closeでしょうか、それとも、Disposeでしょうか?
質問2
MDI親フォームでMDI子フォームをCloseした後でも、UserCtl.MyKeyDownは発生できるものなのでしょうか?
質問3
ユーザーコントロールで親フォーム(MDI子フォーム)がCloseされた事を認識する方法はないでしょうか?
Me.Parent.IsDisposeでできるかなぁと考えているのですが。
よろしくお願いいたします。