あるユーザーコントロールがあり、このコントロールは外部と通信を行います。
通信の結果、このコントロールの状態が変化し、その変化はイベントで通知されます。
この状態変化のイベントでこのコントロールのメソッドを呼び出し、次の処理を行いたいのですが、
このコントロールの仕様として、イベントハンドル内では当コントロールのメソッド、プロパティは呼び出さないでください
というものがありまして
どのように呼び出すべきなのかご意見をお聞かせください。
Private Sub UserControl1_EventA(sender As Object, e As UserControlEventArgs) Handles UserControl1.EventA
If e.Status = 1 Then
'UserControl1.ProcA() '@
Timer1.Enable = True 'A
End If
End Sub
Private Sub Timer1_Elapsed(sender As Object, e As ElapsedEventArgs) Handles Timer1.Elapsed
Timer1.Enable = False
UserControl1.ProcA()
End Sub
本来であれば、@のように呼び出したいのですが、仕様によりイベントハンドラ内で
@のように呼び出すことができません。
現在はAのようにタイマーを起動し、そのタイマーイベント内で呼び出す作りにしています。
ユーザーコントロールは当方の管理外で変更依頼を出すこともできません。