private void DisplayLogWindow() { if (logUC == null) { logUC = new FormLog(); logUC.DisposeEvent += HandleLogWindowClose; //To show trace on screen. Might need a switch later. logMemoListerner = new MemoTraceListener(logUC.Box); Trace.Listeners.Add(logMemoListerner); System.Drawing.Size size = ProgramSettings.Default.LogWinSize; if (size.Height < 250) { size.Height = 250; } if (size.Width < 250) { size.Width = 250; } MultiScreenHelper.RefineLocation(logUC, ProgramSettings.Default.LogWinLocation, ProgramSettings.Default.LogScreenDeviceName); logUC.Size = size; logUC.Show(); } else { logUC.BringToFront(); } }
/// <summary> /// Create a form for application containing UcMultiSyncMain. /// And this form can remember its own location in multiscreen. /// </summary> /// <returns></returns> public static Form CreateMainForm(SyncSettingsBase settings) { if (settings == null) { throw new ArgumentNullException("settings", "How could settings be null?"); } CommonForm form = new CommonForm(); form.ShowInTaskbar = true; // form.AutoSize = true;/// Because this form is used as main form. // AutoSize can not work properly probably the autosize takes effects // before UcMultiSyncMain is loaded. // form.AutoSizeMode = AutoSizeMode.GrowAndShrink; form.Icon = Properties.Resources.syncIcon; form.Load += delegate(object sender, EventArgs e) { try { UcMultiSyncMain uc = new UcMultiSyncMain(settings); form.AddControl(uc, ProgramSettings.Default.ProductName); // form.AutoSize = true;//not working either } catch (System.Configuration.ConfigurationErrorsException exception) { MessageBox.Show("Configuration has problem: " + e.ToString() + "~" + exception.Message); } }; MultiScreenHelper.RefineLocation(form, ProgramSettings.Default.Location, ProgramSettings.Default.ScreenDeviceName); form.FormClosing += delegate(object sender, System.Windows.Forms.FormClosingEventArgs e) { ProgramSettings.Default.Location = form.Location; ProgramSettings.Default.ScreenDeviceName = System.Windows.Forms.Screen.FromControl(form).DeviceName; ProgramSettings.Default.Save(); }; return(form); }