示例#1
0
        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;
                }
            }
        }