我对 Vb.Net 事件和处理程序感到满意。
任何人都可以帮助我如何在 C# 中创建事件处理程序并引发事件。
只了解 C#,或只了解 VB.Net 的开发人员可能不知道,这是 VB.NET 和 C# 之间较大的区别之一。
I will 无耻地复制 http://visualstudiomagazine.com/Articles/2008/12/01/What-C-Devs-Should-Know-About-VB.aspx?Page=2这是对 VB 事件的很好的解释:VB 使用声明性语法来附加事件。这Handles http://msdn.microsoft.com/en-us/library/6k46st1y.aspx子句出现在处理事件的代码中。在适当的情况下,多个方法可以处理同一个事件,并且同一个方法可以处理多个事件。 Handles 子句的使用依赖于随事件 http://msdn.microsoft.com/en-us/library/aty3352y.aspx修饰符出现在底层变量(例如按钮)的声明中。您还可以使用附加属性处理程序添加处理程序 http://msdn.microsoft.com/en-us/library/7taxzxka.aspx关键字,并使用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 一样工作。这是一个无耻地窃取的例子测试者的回答 https://stackoverflow.com/questions/1488573/how-to-raise-event-using-addhandler/1488623#1488623:
public MyClass()
{
InitializeComponent();
textBox1.Leave += new EventHandler(testBox1_Leave);
}
void testBox1_Leave(object sender, EventArgs e)
{
//Do Stuff
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)