事件研究(一)
事件定义
// // 摘要: // 在单击控件时发生。 [SRCategory("CatAction")] [SRDescription("ControlOnClickDescr")] public event EventHandler Click;
事件订阅
this.button1.Click += new System.EventHandler(this.button1_Click);
事件委托类型
// 摘要: // 表示将处理不包含事件数据的事件的方法。 // // 参数: // sender: // 事件源。 // // e: // 不包含任何事件数据的 System.EventArgs。 [Serializable] [ComVisible(true)] public delegate void EventHandler(object sender, EventArgs e);
委托就等效于一个类型安全的函数指针或一个回调。虽然委托具有许多其他的用途,但这里只讨论委托的事件处理功能。
只有当事件生成事件数据时才需要自定义事件委托。 许多事件,包括一些用户界面事件(例如鼠标单击)在内,都不生成事件数据。 在这种情况下,类库中为无数据事件提供的事件委托 System.EventHandler 便足够了。
事件委托是多路广播的,这意味着它们可以对多个事件处理方法进行引用。 有关详细信息,请参见 Delegate。 委托考虑了事件处理中的灵活性和精确控制。 通过维护事件的已注册事件处理程序列表,委托为引发事件的类担当事件发送器的角色。
有关使用委托在您的组件或控件中提供事件功能的详细信息,请参见引发事件。
该文摘抄自msdn,定义事件的同时,可以自定义事件委托类型。假如给事件委托绑定了事件处理方法,当事件发生时事件处理方法的内容会被执行。
例子使用的winform中的按钮事件代码。如果熟悉winform的开发,经过思考联系,应该能明白,事件大概运行思路。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
2016-12-21 什么是publickeytoken及publickeytoken的作用