我很舒服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