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();
            }
        }
Exemple #2
0
        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();
 }