private void DockVisibilityChanging(object sender, DockVisibilityChangingEventArgs arg) { if (!_dict.ContainsKey(arg.Control)) { throw new ApplicationException("Invalid docking panel control"); } var panel = GetDockPanel(arg.Control); var info = _dict[arg.Control]; var args = new DockPanelCancelEventArgs(panel, info.Key); if (panel.Visible) { _broadcaster.BroadcastEvent(p => p.DockPanelClosing_, panel, args, info.Identity); } else { _broadcaster.BroadcastEvent(p => p.DockPanelOpening_, panel, args, info.Identity); } if (args.Cancel) { arg.Cancel = true; } }
private void OnDockVisibilityChanging(object sender, DockVisibilityChangingEventArgs arg) { if (!arg.Control.Visible) { return; } var handler = BeforePanelClosed; if (handler != null) { var panel = GetDockPanel(arg.Control); var e = new TablePanelCancelEventArgs(panel, panel.LayerHandle); handler(sender, e); if (e.Cancel) { arg.Cancel = true; } } }