c# - C# 中的事件 - 定义和示例

标签 c# events

<分区>

C# 中的事件是什么?你能给我一个清晰的实时例子和程序吗?

最佳答案

事件是对象上的钩子(Hook),对象可以说“嘿,一些有趣的事情即将发生”(或刚刚发生),并且对象外部的代码可以说(在事情发生之前)“我对该消息很感兴趣。”

以按钮为例,这段代码:

btOK.Click += new EventHandler(btOK_Click);

这对按钮说:嘿,当你想触发 Click 事件(当用户点击按钮时触发),请通过调用我的方法 btOK_Click 告诉我。

你可以换一种方式思考。假设您的显示器上贴了一张黄色便利贴,上面写着“每当代码停止编译时,请调用 Frank”,这就是一个事件。当您调用 Frank 时,Frank 所做的就是“事件处理程序”,即为响应您的事件而运行的“代码”。

所以条款是:

  • 事件:对象上的一个钩子(Hook),对象外部的代码可以说“当某事发生时,触发此事件,请调用我的代码”
  • 事件处理程序:事件触发时调用的代码
  • 触发一个事件:基本上和调用它一样,只是本质上是同一件事的不同词而已

网上有很多关于事件和 .NET/C# 的信息:

或者...您可以在这里提出更具体的问题,我相信有人会帮助您了解细节。

快乐的事件处理。

关于c# - C# 中的事件 - 定义和示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1951927/

相关文章:

c# - C# 是否内联属性?

c# - 在 C# 中保持已编辑 XML 文件的缩进

c# - 使用 WCF 服务和客户端应用程序进行错误处理

firebase - Firebase中 "session_engaged"的 "session_start"事件属性是什么?

即使主线程退出,C# 子线程仍在工作

c# - F# 中使用的运算符 (-) 引发 C# 不支持指定方法的异常

java - 如何根据表中选定的行在 JavaFX 选择框中设置文本

asp.net - OnTextChanged 事件未触发

java - 从 JFrame 创建 JFrame 时出错

c++ - 将任何类型的参数附加到事件