删除指定控件的指定事件
来源:互联网 发布:医疗器械软件测试标准 编辑:程序博客网 时间:2024/04/25 07:52
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Reflection;
using System.ComponentModel;
namespace Welcome
{
public class DeleteEvent
{
/// <summary>
/// 删除指定控件的指定事件
/// </summary>
/// <param name="control"></param>
/// <param name="eventname"></param>
public static void ClearEvent(Control control, string eventname)
{
if (control == null) return;
if (string.IsNullOrEmpty(eventname)) return;
BindingFlags mPropertyFlags = BindingFlags.Instance | BindingFlags.Public | BindingFlags.Static | BindingFlags.NonPublic;
BindingFlags mFieldFlags = BindingFlags.Static | BindingFlags.NonPublic;
Type controlType = typeof(System.Windows.Forms.Control);
PropertyInfo propertyInfo = controlType.GetProperty("Events", mPropertyFlags);
EventHandlerList eventHandlerList = (EventHandlerList)propertyInfo.GetValue(control, null);
FieldInfo fieldInfo = (typeof(System.Windows.Forms.Control)).GetField("Event" + eventname, mFieldFlags);
Delegate d = eventHandlerList[fieldInfo.GetValue(control)];
if (d == null) return;
EventInfo eventInfo = controlType.GetEvent(eventname);
foreach (Delegate dx in d.GetInvocationList())
eventInfo.RemoveEventHandler(control, dx);
}
}
}
调用方式
DeleteEvent.ClearEvent(this.Controls[i], "MouseDown");
DeleteEvent.ClearEvent(this.Controls[i], "MouseLeave");
DeleteEvent.ClearEvent(this.Controls[i], "MouseMove");
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Reflection;
using System.ComponentModel;
namespace Welcome
{
}
调用方式
- 删除指定控件的指定事件
- 删除指定类型控件的方法
- 删除指定的文件
- 删除指定的字符
- 任意绑定自定义控件的指定事件的处理方法
- 清除某控件已绑定的指定名称的事件
- linux 删除指定文件夹指定大小指定类型的文件
- 1. 删除指定的字符
- DataTable删除指定的内容
- linux删除指定的行
- Java删除指定的Cookie
- Linux删除指定的行
- List删除指定的元素
- linux删除指定的行
- js 删除指定的元素。
- List删除指定的元素
- 删除指定的子视图
- 删除指定值的结点
- Cocos2D Skeletal Animation : Part 1
- Android Http协议访问网络
- get_opt()函数简介
- Oracle Having子句中使用子查询
- ie代理工具
- 删除指定控件的指定事件
- 第一个只出现一次的字符
- 各种编程语言在编程界的领域
- How to execute an ADF button's action method using javascript
- 派生类虚函数调用基类版本
- IT大亨 及新技术词汇
- java多线程
- 洗衣机不可一次放入过多衣服
- android的ontouch事件