private static void Report(Exception exception, bool isTerminating) { TaskDialogPage page = new() { AllowCancel = false, AllowMinimize = false, Caption = "Error", Icon = TaskDialogIcon.Error, SizeToContent = true, Text = exception.Message, Expander = new TaskDialogExpander { Text = exception.Demystify().StackTrace, CollapsedButtonText = "Show stack trace", ExpandedButtonText = "Hide stack trace" } }; if (isTerminating) { page.Buttons.Add("Terminate"); } else { page.Buttons.Add(TaskDialogButton.OK); } Form owner = Application.OpenForms[0]; if (TaskDialog.ShowDialog(owner, page) != TaskDialogButton.OK) { Environment.Exit(-1); } } }
private void FillDefaultElements() { MessageDefault md = null; try { using (var rdbc = new RegataContext()) { md = rdbc.MessageDefaults.Where(m => m.Language == GlobalSettings.CurrentLanguage.ToString()).FirstOrDefault(); } } //FIXME: I would like to use it in Login Form, but I have to remove dependency from DB here. catch { } if (md == null) { md = new MessageDefault() { FooterText = "Show details", ExpandButtonText = "Show details", HideButtonText = "Hide details" }; } _tdf = new TaskDialogFootnote(md.FooterText); _tde = new TaskDialogExpander(); _tde.CollapsedButtonText = md.ExpandButtonText; _tde.ExpandedButtonText = md.HideButtonText; _tde.Position = TaskDialogExpanderPosition.AfterFootnote; }