/// <summary> /// ћетод вызывающийс¤ перед закрытием вкладки /// </summary> /// <param name="e"></param> protected override void OnClosing(AvMultitabControlCancelEventArgs e) { IDisplayer associatedDisplayer = e.TabPage as IDisplayer; if (associatedDisplayer == null) { return; } if (!associatedDisplayer.PerformCloseChecking) { return; } DisplayerCancelEventArgs eventArguments = new DisplayerCancelEventArgs(associatedDisplayer, DisplayerAction.Removing); if (DisplayerDeleting != null && associatedDisplayer != null) { DisplayerDeleting(this, eventArguments); } associatedDisplayer.OnDisplayerRemoved(eventArguments); e.Cancel = eventArguments.Cancel; base.OnClosing(e); if (!eventArguments.Cancel) { if (DisplayerDeleted != null) { DisplayerDeleted(this, new DisplayerEventArgs(associatedDisplayer)); } } }
/// <summary> /// Event of page selecting /// </summary> /// <param name="e">Event arguments</param> protected override void OnSelecting(AvMultitabControlCancelEventArgs e) { IDisplayer associatedDisplayer = e.TabPage as IDisplayer; base.OnSelecting(e); if (DisplayerSelecting != null) { DisplayerSelecting(this, new DisplayerCancelEventArgs(associatedDisplayer, DisplayerAction.Selecting)); } }
/// <summary> /// Метод вызывающийся перед закрытием вкладки /// </summary> /// <param name="e"></param> protected override void OnClosing(AvMultitabControlCancelEventArgs e) { IDisplayer associatedDisplayer = e.TabPage as IDisplayer; if (associatedDisplayer == null) { return; } if (!associatedDisplayer.PerformCloseChecking) { return; } DisplayerCancelEventArgs eventArguments = new DisplayerCancelEventArgs(associatedDisplayer, DisplayerAction.Removing); if (DisplayerDeleting != null) { DisplayerDeleting(this, eventArguments); } //Оповещение о начале удаления вкладки associatedDisplayer.OnDisplayerRemoving(eventArguments); //Если вкладка запросила отменить удаление, операция прекращается if (eventArguments.Cancel) { e.Cancel = true; return; } //Оповещение о окончании удаления вкладки associatedDisplayer.OnDisplayerRemoved(eventArguments); //Если вкладка запросила отменить закрытие, операция прекращается if (eventArguments.Cancel) { e.Cancel = true; return; } e.Cancel = eventArguments.Cancel; base.OnClosing(e); if (!eventArguments.Cancel) { if (DisplayerDeleted != null) { DisplayerDeleted(this, new DisplayerEventArgs(associatedDisplayer)); } } }
/// <summary> /// /// </summary> /// <param name="e"></param> protected override void OnDeselecting(AvMultitabControlCancelEventArgs e) { IDisplayer associatedDisplayer = e.TabPage as IDisplayer; if (associatedDisplayer == null) { return; } DisplayerCancelEventArgs eventArguments = new DisplayerCancelEventArgs(associatedDisplayer, DisplayerAction.Removing); associatedDisplayer.OnDisplayerDeselecting(eventArguments); e.Cancel |= eventArguments.Cancel; base.OnDeselecting(e); }