C# 中的事件
C# 中的事件
作为一个定义,这是一个我不想详细讨论的问题。当我们用鼠标左键单击按钮对象、在文本框对象中输入字符或用鼠标选择组合框中的元素之一时,就会发生一个事件。所有这些案例都是事件。
现在,让我们在表单中放入一个 Button 对象,然后到达 Click Event,如下所示;
**私人的** ******void Form1_Load(对象发送者,EventArgs e)
{
button1.Click += new** ******事件处理程序(点击);
}** **无效点击(对象发送者,EventArgs e)
{** **}**
Click 事件是在 Control 类中定义的事件。不断检查该类中是否同时发生了 Click 事件。如果该类检测到发生了 Click 事件,我用“+=”链接到该事件的方法将被执行。但是,该类不会知道我绑定到 Click 的此类中的方法。为了使该类知道此类中的方法,我们使用该类中定义的委托(EventHandler)来运行该类中的方法。
我在这里要解释的可能不是很有启发性,甚至不是可以理解的。在下一部分中,我进入了主要话题。我将创建可以将另一个类中的方法绑定到类中的事件的委托。
现在,我将向您展示如何将一个类中的事件绑定到另一个类中的方法。
**班号检查
{
公共委托无效 CheckNumberHandler();
公共事件 CheckNumberHandler NumberState;
整数;
公共整数
{
得到{返回号码; }
放
{
数字=价值;
如果(数字<10)
{
** // 让事件运行
// 嘿,我们将调用你运行 CheckNumberHandler 委托连接的方法 :) **
}
}
}
}**
在上面你看到的 NumberCheck 类中,编写了一个名为 NumberCheckHandler 的委托,它适用于没有返回类型且不带参数的方法。在这个委托类型中编写了一个名为 NumberState 的事件。
记住!!!:事件的类型将是将方法绑定到它的委托的类型。
**班号检查
{
公共委托无效 CheckNumberHandler();
公共事件 CheckNumberHandler NumberState;
整数;
公共整数
{
得到
{
返回号码;
}
放
{
数字=价值;
如果(数字 < 10)
{
如果(数字状态!= null)
{
数字状态();
}
}
}
}
}**
如果在 Number 属性中输入小于 10 的数字,将引发 NumberStatus 事件。现在让我们将一个方法绑定到 NumberStatus 事件。
**私人无效Form1_Load(对象发送者,EventArgs e)
{
NumberCheck 对象 = 新 NumberCheck();
object.NumberState += new NumberCheck.NumberCheckHandler(check);
object.Number = 77;
}
无效检查()
{
MessageBox.Show("数字属性不能小于10");
}**
如您所见,我已经绑定了 查看 的方法 数字状态 事件通过“ += ” 运算符通过 NumberCheckHandler 代表。如果你运行这个程序,控制方法将不会被执行。因为,控制方法连接到 数字状态 事件通过 NumberCheckHandler 代表和当号码 77 设置为 数字 属性,则不会执行 check 方法。因为它知道它不小于 10,所以它在进入 if 范围之前停止流。那就是 数字状态 处于以下状态时不会引发事件。如果我们输入一个小于 10 的值,控制方法就会起作用。
资料来源:
[
C# 中的代表
首先,让我们定义“什么是委托?”我们可以简单地将委托定义为引用类型变量...
codetoresolutions.com
](https://codestoresolutions.com/delegates-in-c/)
[
使用 C# 委托和事件
事件作为定义,是一个我不想过多赘述的主题,你可以用鼠标左键改变一个按钮对象。
www.gencayyildiz.com
](https://www.gencayyildiz.com/blog/cta-delegatetemsilci-ve-eventolay-kullanimi/2/)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明