public void ClearCallback() { if (StartDelayChanged != null) { foreach (Delegate d in StartDelayChanged.GetInvocationList()) { StartDelayChanged -= (EventHandler)d; } } if (DurationChanged != null) { foreach (Delegate d in DurationChanged.GetInvocationList()) { DurationChanged -= (EventHandler)d; } } if (PositionRequest != null) { foreach (Delegate d in PositionRequest.GetInvocationList()) { PositionRequest -= (EventHandler)d; } } if (StartCallback != null) { foreach (Delegate d in StartCallback.GetInvocationList()) { StartCallback -= (EventHandler)d; } } if (StopCallback != null) { foreach (Delegate d in StopCallback.GetInvocationList()) { StopCallback -= (EventHandler)d; } } if (NextCallback != null) { foreach (Delegate d in NextCallback.GetInvocationList()) { NextCallback -= (EventHandler)d; } } if (PrevCallback != null) { foreach (Delegate d in PrevCallback.GetInvocationList()) { PrevCallback -= (EventHandler)d; } } }