コントロールではない淡色表示された変数のイベントを使用するにはどうすればよいですか。
これは私の調光された変数です:
Dim engine As New Speech.Recognition.SpeechRecognitionEngine
イベント「engine.SpeechRecognized」を使用したい。
ハンドラーを明示的に追加したい他の場合と同じように行います。
AddHandler engine.SpeechRecognized, AddressOf HandleSpeechRecognized
詳細については、ステートメントのドキュメントをAddHandler
参照してください。
VB.NETでエラーハンドラーを追加する方法は2つあります。AddHandler
次のようなステートメントを使用して、「手動で」これを行うことができます。
Dim engine As New SpeechRecognitionEngine()
AddHandler engine.SpeechDetected, AddressOf OnSpeechDetected
このアプローチでは、次のOnSpeechDetected
ようなイベントハンドラメソッドを手動で実装する必要があります。
Private Sub OnSpeechDetected(ByVal sender As Object, ByVal e As SpeechDetectedEventArgs)
' Do something
End Sub
ただし、多くの場合、2番目の方法の方が簡単です。この2番目の方法は、コントロールのイベントを処理する方法です。ただし、オブジェクト変数がフィールドとして宣言されている場合にのみ可能です(クラスレベルで、メソッドの外部で)。必要なのはWithEvents
、変数名の前に次のようなキーワードを追加することだけです。
Dim WithEvents engine As New SpeechRecognitionEngine()
次に、その変数名が、すべてのコントロールとともに、コードウィンドウの上部にある左側のドロップダウンボックスに表示されます。そのドロップダウンボックスでそれを選択すると、右側のドロップダウンボックスでそのイベントのいずれかを選択でき、イベントハンドラーメソッドが自動的に作成されます。
Private Sub engine_SpeechDetected(ByVal sender As Object, ByVal e As SpeechDetectedEventArgs) Handles engine.SpeechDetected
End Sub