Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从VB.Net调用C#事件_C#_Vb.net_Dll - Fatal编程技术网

如何从VB.Net调用C#事件

如何从VB.Net调用C#事件,c#,vb.net,dll,C#,Vb.net,Dll,我有一个C#class库。在该类中,我已将事件声明为属性 private static event MouseEventHandler s_MouseClick; public static event MouseEventHandler MouseClick { add { s_MouseClick += value; } remove { s_MouseClick -= value; } } 我有另一个用VB

我有一个C#class库。在该类中,我已将事件声明为属性

private static event MouseEventHandler s_MouseClick;
public static event MouseEventHandler MouseClick
{
    add
    {
        s_MouseClick += value;
    }
    remove
    {
        s_MouseClick -= value;
    }
} 
我有另一个用VB.net编写的项目,点击一个按钮,我想做如下事情:

cls.MouseClick += cls_MouseClick;

void cls_MouseClick(object sender, KeyPressEventArgs e)
{
}

这就是我在C#中的做法。但是如何在VB中执行此操作?

在VB中,要注册事件处理程序,请使用
AddHandler

AddHandler cls.MouseClick,AddressOf cls\u MouseClick
使用
RemoveHandler
注销事件处理程序

或者,您可以使用声明性语法。即:宣布成员如下:

Private,事件cls作为您的类类型
并按如下方式声明处理程序:

cls.MouseClick += cls_MouseClick;

void cls_MouseClick(object sender, KeyPressEventArgs e)
{
}
Private Sub cls\u MouseClick(ByVal sender作为对象,ByVal e作为KeyPressEventArgs)处理cls.MouseClick
端接头

现在您不需要手动注册处理程序。

您好。。。谢谢你的回复。我的问题解决了。再次感谢Umang@user1213390如果回答了你的问题,请考虑接受它。