如何 "AddHandler" 尝试从外部库中捕获事件

How to "AddHandler" trying to catch an event from an external library

我想在来自外部库的事件发生时立即调用一个函数。

我有一组相机对象(不同的相机),它们在抓取图像(外部触发)后立即创建一个事件。相机由外部库 (Basler) 定义,并且在之前的代码中定义,因此事件定义如下:

cameras(i).StreamGrabber.ImageGrabbed

我创建了一个子

Sub ImageGrabEvent(sender As Object, e As EventArgs)
    MsgBox("Aha")
End Sub</code>

并尝试在主要部分注册

AddHandler cameras(i).StreamGrabber.ImageGrabbed, AddressOf (ImageGrabEvent)

也尝试过

AddHandler cameras(i).StreamGrabber.ImageGrabbed, ImageGrabEvent()

和 "new" 或其他的变体。

额外挑战:任何摄像机都可以引发事件,我如何在我的子系统中识别出是哪个摄像机引发的?

处理程序方法周围不应有方括号(圆括号),因此:

AddHandler cameras(i).StreamGrabber.ImageGrabbed, AddressOf (ImageGrabEvent)

应该是:

AddHandler cameras(i).StreamGrabber.ImageGrabbed, AddressOf ImageGrabEvent

sender 对象为您提供引发事件的对象