在VB.Net中需要有关事件处理语法的帮助

时间:2010-08-11 06:03:36

标签: vb.net

我想在我的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) 

我无法弄清问题是什么。

任何人都可以告诉我这是什么问题吗?

1 个答案:

答案 0 :(得分:0)

我可以弄清楚问题是什么。

FormEventCapture_FormEvent应具有与委托函数相同的签名,即__vFormAgentLib_FormEventEventHandler。

当我更改FormEventCapture_FormEvent的签名时,它没有给出错误。

但是我得到了一些运行时错误,如果我没有成功搞清楚,我已经请求大家帮忙了。

感谢。