FieldInfo keyfi = typeof(Control).GetField("EventClick", BindingFlags.Static | BindingFlags.NonPublic);
object eventkey = keyfi.GetValue(button1);
// Get the protected Events property
PropertyInfo evtpi = typeof(Control).GetProperty("Events", BindingFlags.Instance | BindingFlags.NonPublic);
EventHandlerList evts = (EventHandlerList)evtpi.GetValue(button1, null);
// Obtain the value of the delegate and remove it
Delegate dlg = evts[eventkey];
evts.RemoveHandler(eventkey, dlg);
转载于:https://www.cnblogs.com/liaomin416100569/archive/2010/02/02/9331961.html