private void ViewerControlCloseRequested(object sender, CloseRequestArgs e) { vc.Deactivate(); vc.Dispose(); vc = new ViewerControl.ViewerControl(); vc.Dock = DockStyle.Fill; vc.CloseRequested += ViewerControlCloseRequested; tbcMain.TabPages[TBI_TEMPLATE].Controls.Add(vc); vc.BringToFront(); tbcMain.SelectedIndex = TBI_TEMPLATE; switch (e.ClosingState) { case CloseRequestArgs.ClosingReason.RevertToIntro: ShowIntroDialog(); break; case CloseRequestArgs.ClosingReason.ExplicitNew: vc.CreateNewTemplate(); break; case CloseRequestArgs.ClosingReason.ToLoadExisting: vc.ShowLoadTemplate(); break; case CloseRequestArgs.ClosingReason.ApplicationExiting: tbcMain.SelectedIndex = TBI_WORKSPACE; if (resultsPanel.DoCloseWorkspace()) { Application.Exit(); } break; default: break; } }
private void ResultsPanelCloseRequested(object sender, CloseRequestArgs e) { resultsPanel.Deactivate(); resultsPanel.Dispose(); resultsPanel = new ResultsPanel(); resultsPanel.Dock = DockStyle.Fill; resultsPanel.CloseRequested += ResultsPanelCloseRequested; tbcMain.TabPages[TBI_WORKSPACE].Controls.Add(resultsPanel); resultsPanel.BringToFront(); tbcMain.SelectedIndex = TBI_WORKSPACE; switch (e.ClosingState) { case CloseRequestArgs.ClosingReason.RevertToIntro: ShowIntroDialog(); break; case CloseRequestArgs.ClosingReason.ToLoadExisting: resultsPanel.OpenWorkspace(); break; case CloseRequestArgs.ClosingReason.ApplicationExiting: tbcMain.SelectedIndex = TBI_TEMPLATE; if (vc.DoCloseTemplate()) { Application.Exit(); } break; default: break; } }
private void OnClosing(object sender, CancelEventArgs cancelEventArgs) { var args = new CloseRequestArgs(); if (!_isSaved) { const string title = @"Confirmation"; const string msg = @"Do you want to save modifications before quit ?"; switch (MessageBox.Show(msg, title, MessageBoxButtons.YesNoCancel)) { case DialogResult.Yes: args.SaveRequested = true; Enabled = false; break; case DialogResult.No: args.SaveRequested = false; Enabled = false; break; case DialogResult.Cancel: cancelEventArgs.Cancel = true; return; } } else { args.SaveRequested = false; Enabled = false; } if (CloseRequest != null) CloseRequest.Invoke(this, args); }