public override void BeforeDispose() { if (Moved != null) { //Remove all Events associated to this control (That haven't been unsubscribed !) foreach (Delegate d in Moved.GetInvocationList()) { Moved -= (EventHandler)d; } } }