示例#1
0
        static void WinFormApp(Arguments arg)
        {
            InitServices();

            var welcome = new WelcomeController(new ViewFactory());

            welcome.TryShow();

            var manager = new DataManager();

            try {
                manager.StartDelayedLoading();
                manager.LoadProfiles();
            }
            catch (Exception e) {
                MessageBox.Show(e.Message, ClientServiceLocator.GetService <ILanguage>().GetText("Error"), MessageBoxButtons.OK, MessageBoxIcon.Error);
                UseTrace(e);
            }

            var frm = new MainForm(manager);

            try {
                new MainController(frm, manager);
                if (arg.Minimalize)
                {
                    frm.GoToTray();
                    Application.Run();
                    manager.SaveSettings();
                }
                else if (arg.ConsoleMode)
                {
                    ApplyProfile(manager, arg.Profiles[0]);
                }
                else
                {
                    Application.Run(frm);
                    manager.SaveSettings();
                }
            }
            catch (Exception e) {
                using (var form = new ExceptionForm(e.Message + "\n\n" + e.StackTrace)) {
                    form.FormBorderStyle = FormBorderStyle.FixedDialog;
                    form.StartPosition   = FormStartPosition.CenterScreen;
                    form.ShowDialog();
                }
                UseTrace(e);
            }
            finally {
                manager.Dispose();
                frm.Dispose();
                Properties.Settings.Default.Save();
            }
        }
示例#2
0
		static void WinFormApp(Arguments arg) {
            InitServices();

			var welcome = new WelcomeController(new ViewFactory());
            welcome.TryShow();

			var manager = new DataManager();

			try {
				manager.StartDelayedLoading();
				manager.LoadProfiles();
			}
			catch (Exception e) {
				MessageBox.Show(e.Message, ClientServiceLocator.GetService<ILanguage>().GetText("Error"), MessageBoxButtons.OK, MessageBoxIcon.Error);
				UseTrace(e);
			}

            var frm = new MainForm(manager);

			try {
				new MainController(frm, manager);
				if (arg.Minimalize) {
					frm.GoToTray();
					Application.Run();
					manager.SaveSettings();
				}
				else if (arg.ConsoleMode) {
					ApplyProfile(manager, arg.Profiles[0]);
				}
				else {
					Application.Run(frm);
					manager.SaveSettings();
				}

			}
			catch (Exception e) {
				using (var form = new ExceptionForm(e.Message + "\n\n" + e.StackTrace)) {
					form.FormBorderStyle = FormBorderStyle.FixedDialog;
					form.StartPosition = FormStartPosition.CenterScreen;
					form.ShowDialog();
				}
				UseTrace(e);
			}
			finally {
				manager.Dispose();
				frm.Dispose();
				Properties.Settings.Default.Save();
			}
            
        }