protected override void Dispose(bool disposing)
{
if (disposing)
{
if (_ribbonCustomControl != null)
{
// Must unhook to prevent memory leaks
_ribbonCustomControl.MouseEnterControl -= new EventHandler(OnMouseEnterControl);
_ribbonCustomControl.MouseLeaveControl -= new EventHandler(OnMouseLeaveControl);
_ribbonCustomControl.ViewPaintDelegate = null;
_ribbonCustomControl.PropertyChanged -= new PropertyChangedEventHandler(OnCustomPropertyChanged);
_ribbon.ViewRibbonManager.LayoutAfter -= new EventHandler(OnLayoutAction);
_ribbon.ViewRibbonManager.LayoutBefore -= new EventHandler(OnLayoutAction);
// Remove association with definition
_ribbonCustomControl.CustomControlView = null;
_ribbonCustomControl = null;
}
}
base.Dispose(disposing);
}