void GuiMessage.IGuiMessage.ShowError(string title, string message) { Form dialog = new ErrorDialog(title, message); dialog.StartPosition = FormStartPosition.CenterParent; WindowHandler.SetActiveDialogForTesting(dialog); try { dialog.ShowDialog(WindowHandler.ApplicationWindow); } finally { WindowHandler.RemoveDialogForTesting(dialog); dialog.Dispose(); } }
static void Main(string[] args) { try { ApplicationArgs appArgs = ApplicationArgs.Parse(args); ExceptionsHandler.SetExceptionHandlers(appArgs.IsTestingMode); ThreadWaiterBuilder.Initialize(new WinPlasticTimerBuilder()); GuiMessage.Initialize(new WindowsGuiMessage()); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); if (appArgs.IsTestingMode) { InstallTestAssembliesResolver(appArgs.PathToAssemblies); } // Tip: you could launch different windows depending on the // argument flags. WindowHandler.LaunchApplicationWindow(); if (appArgs.IsTestingMode) { WindowHandler.LaunchTest(appArgs.TestInfoFile, appArgs.PathToAssemblies); } Application.Run(); } catch { // You would track the exception here. ExitCode = 1; Application.Exit(); } finally { // You would dispose everything you need here. Environment.Exit(ExitCode); } }
protected override void OnClosed(EventArgs e) { base.OnClosed(e); WindowHandler.UnregisterApplicationWindow(); }