0

我的解决方案中有 2 个项目。
让我们说项目 A 和项目 B。

Proj A 正在举办我的自定义活动。并且相同的 Proj 正在使用 Vb.net 的 RaiseEvent 函数引发该事件,并且 Proj B 具有 Proj A 的引用。Proj B
正在为 Proj A 的自定义事件添加处理程序。

但我的自定义事件无法引发。谁能解释我该怎么做。?

编辑:

项目 A

Public Shared Event cardReadComplete(ByVal data As String)
 Public Sub kbHook_KeyDown(ByVal Key As Windows.Forms.Keys) 
  IO.File.AppendAllText("E:\log.log", Key.ToString() & vbCrLf)
 RaiseEvent cardReadComplete(encryptedData)
End Sub

项目 B

 Private Sub handleSwipeCardRequest(ByVal msgText As String)
        AddHandler CardReader.Main.cardReadComplete, AddressOf sendSwipeCardDetails
        CardReader.Main.cardReadComplete()
End Sub

我先调用 handleSwipeCardRequest 函数,然后再调用它的事件。

4

2 回答 2

0

您的事件将在kbHook_KeyDown被调用时引发,假设它AddHandler在行执行后被调用。您确定调用了 KeyDown 函数吗?正如 Hans Passant 所说,您可能缺少 Handles 关键字:

Public Sub kbHook_KeyDown(ByVal Key As Windows.Forms.Keys) Handles kbHook.KeyDown
    ...
End Sub
于 2011-10-18T13:42:37.507 回答
0

其他方式 :

AddHandler kbHook.KeyDown , AddressOf Me.kbHook_KeyDown
于 2015-12-15T11:09:51.557 回答