万千封印
关于如何清空对象事件,你可以尝试使用如下方法,首先,你需要建立一个委托组 用以注册当前上下文所需要处理的所有方法,并且在适当的时候进行初始化.EventHandler[] ehNothings = new EventHandler[] { new EventHandler(button1_Click) };你可以使用Type.GetEvents()方法获取该类型的所有事件,同时,使用EventInfo 对象的GetRemoveMethod方法创建一个移除事件对象,调用该对象并使之在委托组内循环,移除当前对象的对应事件代码.Type myType = this.button1.GetType();System.Reflection.EventInfo[] events = myType.GetEvents();foreach (EventInfo eventInfo in events){MethodInfo methodInfo = eventInfo.GetRemoveMethod(true);foreach( EventHandler eh in ehNothings ){methodInfo.Invoke(this.button1, new object[] { eh });}}当然,本代码段是非安全的,对于非通用事件委托,你需要使用更多的委托组来处理.希望 你能找到更安全有效的方法.