0

コントロールではない淡色表示された変数のイベントを使用するにはどうすればよいですか。
これは私の調光された変数です:

Dim engine As New Speech.Recognition.SpeechRecognitionEngine

イベント「engine.SpeechRecognized」を使用したい。

4

2 に答える 2

1

ハンドラーを明示的に追加したい他の場合と同じように行います。

AddHandler engine.SpeechRecognized, AddressOf HandleSpeechRecognized

詳細については、ステートメントのドキュメントをAddHandler参照してください。

于 2012-07-02T16:24:51.110 に答える
0

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
于 2012-07-02T18:05:33.443 に答える