【问题标题】:How to call C# event from VB.Net如何从 VB.Net 调用 C# 事件
【发布时间】:2012-02-16 11:59:22
【问题描述】:

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

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 中做到这一点?

【问题讨论】:

    标签: c# vb.net dll


    【解决方案1】:

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

    AddHandler cls.MouseClick, AddressOf cls_MouseClick
    

    使用RemoveHandler 取消注册事件处理程序。

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

    Private WithEvents cls As YourClassType
    

    并像这样声明处理程序:

    Private Sub cls_MouseClick(ByVal sender As Object, ByVal e As KeyPressEventArgs) Handles cls.MouseClick
    End Sub
    

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

    【讨论】:

    猜你喜欢
    • 2013-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-27
    • 1970-01-01
    • 2014-05-28
    相关资源
    最近更新 更多