我想在我的VB.NET代码中添加一个事件。我已经完成了VB.net编程,但在事件处理方面经验不足。
我已经宣布了这样的
public WithEvents FormEventCapture As vFormAgent.__vFormAgentLib_Event
然后我将以下代码放在表单加载事件
中FormEventCapture = new vFormAgent.__vFormAgentLib_FormEventEventHandler()
AddHandler FormEventCapture.FormEvent, AddressOf Me.FormEventCapture_FormEvent
这是对的吗?
当我编译时,我得到以下错误
Delegate 'vFormAgent.__vFormAgentLib_FormEventEventHandler' requires an 'AddressOf' expression or lambda expression as the only argument to its constructor. (BC32008)
所以我需要将一个参数传递给这个构造函数然后我改变如下
FormEventCapture = new vFormAgent.__vFormAgentLib_FormEventEventHandler(AddressOf Me.FormEventCapture_FormEvent)
然后我收到以下错误
Lambda expression cannot be converted to 'vFormAgent.__vFormAgentLib_Event' because 'vFormAgent.__vFormAgentLib_Event' is not a delegate type. (BC36625)
我无法弄清问题是什么。
任何人都可以告诉我这是什么问题吗?
答案 0 :(得分:0)
我可以弄清楚问题是什么。
FormEventCapture_FormEvent应具有与委托函数相同的签名,即__vFormAgentLib_FormEventEventHandler。
当我更改FormEventCapture_FormEvent的签名时,它没有给出错误。
但是我得到了一些运行时错误,如果我没有成功搞清楚,我已经请求大家帮忙了。
感谢。