Csharp/C#教程:如何使用addHandler引发事件分享


如何使用addHandler引发事件

我对Vb.Net事件和处理程序很满意。 任何人都可以帮助我如何在c#中创建事件处理程序,并引发事件。

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

我将无耻地复制 VB事件的这个很好的解释:VB使用声明性语法来附加事件。 Handles子句出现在将处理事件的代码上。 适当时,多个方法可以处理相同的事件,并且可以通过相同的方法处理多个事件。 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 } 

在C#2及更高版本中,您可以添加如下事件处理程序:

 yourObject.Event += someMethodGroup; 

someMethodGroup的签名与yourObject.Event的委托签名匹配。

在C#1中,您需要显式创建一个这样的事件处理程序:

 yourObject.Event += new EventHandler(someMethodGroup); 

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

  public MyClass() { InitializeComponent(); textBox1.LostFocus += new EventHandler(testBox1_LostFocus); } void testBox1_LostFocus(object sender, EventArgs e) { // do stuff } 

试试这些。

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

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

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

上述就是C#学习教程:如何使用addHandler引发事件分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1281719.html

(0)
上一篇 2022年11月29日
下一篇 2022年11月29日

精彩推荐