如何使用addHandler操作,以提高活动(How to raise event using ad

2019-08-17 00:09发布

我很舒服Vb.Net事件和处理程序。 任何人都可以帮助我如何在C#创建事件处理程序,并引发事件。

Answer 1:

谁知道,只有C#,或仅VB.Net开发人员可能不知道,这是VB.NET和C#之间的较大差异之一。

我会shamelesssly复制 VB事件,这很好解释:VB用来连接事件声明语法。 该手柄条款出现在将处理该事件的代码。 在适当时,多个方法可以处理同一事件,和多个事件可以通过相同的方法来处理。 Handles子句的使用依赖于WITHEVENTS出现在下面的变量的声明诸如按钮改性剂。 您还可以附加使用属性处理的AddHandler关键字,并与RemoveHandler删除它们。 例如

Friend WithEvents TextBox1 As System.Windows.Forms.TextBox   

Private Sub TextBox1_Leave(ByVal sender As System.Object, _
  ByVal e As System.EventArgs) Handles TextBox1.Leave
  'Do Stuff '
End Sub

在C#中,您不能使用声明的语法。 您可以使用+ =这是超载行动就VB.Net的AddHandler。 下面是无耻地窃取为例tster的回答 :

public MyClass()
{
    InitializeComponent();
    textBox1.Leave += new EventHandler(testBox1_Leave);
}

void testBox1_Leave(object sender, EventArgs e)
{
  //Do Stuff
}


Answer 2:

在C#2和高达添加这样的事件处理程序:

yourObject.Event += someMethodGroup;

凡签名someMethodGroup的委托签名匹配yourObject.Event

在C#1,你需要明确创建事件处理程序是这样的:

yourObject.Event += new EventHandler(someMethodGroup);

现在的方法组的签名,事件和EventHandler必须匹配。



Answer 3:

    public MyClass()
    {
        InitializeComponent();
        textBox1.LostFocus += new EventHandler(testBox1_LostFocus);
    }

    void testBox1_LostFocus(object sender, EventArgs e)
    {
        // do stuff
    }


Answer 4:

试试这些。

了解在C#中的事件和事件处理程序

http://www.c-sharpcorner.com/UploadFile/ddutta/EventHandlingInNetUsingCS11092005052726AM/EventHandlingInNetUsingCS.aspx

http://www.csharphelp.com/archives2/archive408.html



文章来源: How to raise event using addHandler