请问如何判断事件是否已订阅某一方法
例如:
button2.Click += new EventHandler(button2_Click);
这样判断button2的Click事件是否已订阅button2_Click这个事件处理方法
例如:
button2.Click += new EventHandler(button2_Click);
这样判断button2的Click事件是否已订阅button2_Click这个事件处理方法
解决方案 »
- C# 操作两个Excel数据比对
- null 和 DBNull
- C#模糊查询。
- 请问:在框架的左边想要更改框架右边页面的Label的值怎么实现??
- 单击树节点在父窗体中打开了几个子窗体,如何做到我选中节点后打开对应的子窗体???
- 通过MTP操作手机、pad有人研究过没?
- 为什么一定要static void Main ()
- 给 asp.net 代码加密?????
- 哪里可以下vs.net,我的网络速度没问题
- actpvc,问你一个相当紧急的问题,访问aspx文件需验证才能访问(只要遇上访问aspx文件,都会弹出验证对话框)
- vs2008 怎安装DevExpress ,我安装后2003的工具箱里有DevExpress 工具而2008没有。是不是要下新的DevExpress ,知道大侠给说下。谢谢
- 播放音频时,音频波形的显示问题(如图)
BindingFlags.Instance | BindingFlags.NonPublic);
EventHandlerList ehl = (EventHandlerList)pi.GetValue(yourbutton, null);//这是你的Button
FieldInfo fi = (typeof(Control)).GetField("EventClick", BindingFlags.Static | BindingFlags.NonPublic);
Delegate d = ehl[fi.GetValue(null)];
if (d != null)
{
System.Delegate[] dels = d.GetInvocationList();
for (int i = 0; i < dels.Length; i++)
{
Console.WriteLine(dels[i].Method.Name);//这里会输出所有方法名称
}
}
你只要在加事件之前先-=就好了
button2.Click -= new EventHandler(button2_Click);
button2.Click += new EventHandler(button2_Click);
if (delDirectory != null && delDirectory.Length > 0)
{
foreach (EventHandle handle in delDirectory)
{
if (handle == button2_Click)
{
//已注册
}
else
{
//未注册
}
}
}
else
{
//未注册
}
或者可以到事件列表里面去判断是否存在该事件 例如 Zine_Alone 所说的
click没有这个方法,求真相
even要在 声明的 类 里才能 有这个 方法 ,就是说你要在button2 的类里 才能 用这个方法