这个问题来自论坛,原文为如何判断事件已经被注册过?

用反射取出事件绑定的委托实例,然后用GetInvocationList就可以得到所有注册的方法了。

代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Reflection;
namespace WindowsApplication19
{public partial class Form1 : Form{public Form1(){InitializeComponent();this.Load+=new EventHandler(Form1_Load1);this.Load+=new EventHandler(Form1_Load2);PropertyInfo propertyInfo = (typeof(Form)).GetProperty("Events", BindingFlags.Instance | BindingFlags.NonPublic);EventHandlerList eventHandlerList = (EventHandlerList)propertyInfo.GetValue(this, null);FieldInfo fieldInfo = (typeof(Form)).GetField("EVENT_LOAD", BindingFlags.Static | BindingFlags.NonPublic);Delegate d = eventHandlerList[fieldInfo.GetValue(null)];if (d != null){foreach (Delegate de in d.GetInvocationList())Console.WriteLine(de.Method.Name);}}private void Form1_Load1(object sender, EventArgs e){//什么也不干}private void Form1_Load2(object sender, EventArgs e){//什么也不干}}
}

转载于:https://www.cnblogs.com/cl1024cl/archive/2008/06/05/6204936.html

c#如何取得事件注册的方法相关推荐

  1. Java 基础【04】Swing 组件事件注册

    聪明出于勤奋,天才在于积累.--华罗庚 对上次的三个问题的个人理解: 1) 程序首先是从main函数开始执行的,假设main 函数不是 static ,就要先实例化这个类,然后调用 main 方法,这 ...

  2. android点击事件注册方式,Android界面控件(3)— 注册同一个点击事件的监听器...

    2019独角兽企业重金招聘Python工程师标准>>> CheckBox 和 RadioButton 1.添加控件 .xml代码如下: CheckBox是同时可以选择多个选项的控件 ...

  3. java swing 注册_Java 基础【04】Swing 组件事件注册

    聪明出于勤奋,天才在于积累.--华罗庚 对上次的三个问题的个人理解: 1) 程序首先是从main函数开始执行的,假设main 函数不是 static ,就要先实例化这个类,然后调用 main 方法,这 ...

  4. 【EventBus】EventBus 源码解析 ( 注册订阅者 | 注册订阅方法详细过程 )

    文章目录 前言 一.EventBus 注册订阅者 二.注册订阅方法的具体过程 三.Subscription 类 前言 在上一篇博客 [EventBus]EventBus 源码解析 ( 注册订阅者 | ...

  5. JavaScript事件绑定的方法说明 收藏

    JavaScript事件绑定的方法说明 收藏 事件使得客户端的 JavaScript 有机会被激活,并得以运行.在一个 Web 页面装载之后,运行脚本的唯一方式,就是响应系统或者用户的动作.虽然从第一 ...

  6. 由object元素引出的事件注册问题和层级显示问题

    项目有一个双击监控视频全屏的需求,视频播放使用的是IE下的ActiveX控件,web页面中使用HTML嵌入对象元素object.预期方案如下: 1.在开发ActiveX控件时加入双击事件. 2.通过d ...

  7. 一步步学习微软InfoPath2010和SP2010--第九章节--使用SharePoint用户配置文件Web service(2)--在事件注册表单上创建表单加载规则...

    下面练习中,你将添加表单加载规则,将四个文本框域和图片控件与用户配置文件web service连接.当使用用户配置文件web service时,你需要将控件和来自web service合适的域绑定.这 ...

  8. jQuery学习笔记系列(三)——事件注册、事件处理、事件对象、拷贝对象、多库共存、jQuery插件、toDoList综合案例

    day03 - jQuery 学习目标: 能够说出4种常见的注册事件 能够说出 on 绑定事件的优势 能够说出 jQuery 事件委派的优点以及方式 能够说出绑定事件与解绑事件 能够说出 jQuery ...

  9. 事件对象使用方法大全(源码解析)

    事件对象使用方法 <!DOCTYPE html> <html lang="en"><head><meta charset="UT ...

  10. C#控件的创建、属性设置及事件注册

    摘要:本文基于Visual studio 2019, 以按钮控件(Button)为例,认识控件的创建方式.属性设置及事件注册. 编程语言:C# 编程环境:Visual Studio 2019 目录 控 ...

最新文章

  1. chubby分布式锁服务概述
  2. vscode-git中的U,M和D文件标记含义
  3. java.util.NoSuchElementException: Unable to validate object
  4. Android应用程序窗口(Activity)的窗口对象(Window)的创建过程分析
  5. ACM PKU 2299 Ultra-QuickSort
  6. 5911. 模拟行走机器人 II
  7. VS搭建lua开发环境和LuaBridge注册c++类(cocos2dx项目)(一)
  8. Matlab曲线标记间距自定义
  9. 【Linux】Centos7重启网卡失败
  10. ajax调用webService
  11. idea 创建项目并同步到git仓库
  12. 【接口时序】8、DDR3驱动原理与FPGA实现(一、DDR的基本原理)
  13. FireMonkey TListView的用法二:ItemAppearance为客制化外观Custom
  14. Houdini10:灯光
  15. java解压zip压缩包
  16. 阿里云服务器价格,最新收费标准报价及活动价格表
  17. 《Android深度探索卷一》读书笔记六
  18. vs写c语言快捷键,vs快捷键
  19. require.context()的用法详解
  20. pyrorch中 out.view(out.size(0), -1)  out.view(-1, 1, 28, 28)  clamp(min,max)作用

热门文章

  1. 差分进化算法matlab代码_差分进化算法
  2. 将Excel数据批量导入到数据库(项目案例)
  3. Leetcode376.摆动序列
  4. linux+git登陆,图解如何在Linux上配置git自动登陆验证
  5. 计算机秘密程序 听课反思,《编制计算机程序解决问题》的教学反思
  6. LNMPS PHP 团队开发 需要用到的相关工具(2017年11月更新)
  7. Html label 标签详解
  8. 阶段3 2.Spring_04.Spring的常用注解_6 用于注入数据的注解
  9. mui多层tab切换上拉加载的实现
  10. Centos下安装nginx步骤解析