static void StartApplication() { frmMainMenu mainTemp = null; try { HTN.BITS.FGTRACK.LIB.ResourceManager.Instance.CallingAssembly = Assembly.GetExecutingAssembly(); GlobalVariable.LanguageSelect = "fr-CA"; //fr-CA is Thai clsBarcodeReader.Instance.InitialComponent(); //ServiceProvider.Instance.Connect(); //fMain = new frmMainMenu(); //Application.Run(fMain); using (frmMainMenu fMain = new frmMainMenu()) { GC.ReRegisterForFinalize(fMain); mainTemp = fMain; Application.Run(fMain); ServiceProvider.Instance.Disconnect(); clsBarcodeReader.Instance.Release(); mainTemp = null; GC.SuppressFinalize(fMain); GC.Collect(); GC.WaitForPendingFinalizers(); } if (mainTemp != null) { FullScreenHandle.StopFullScreen(mainTemp); GC.SuppressFinalize(mainTemp); GC.Collect(); GC.WaitForPendingFinalizers(); } Application.Exit(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); if (mainTemp != null) { FullScreenHandle.StopFullScreen(mainTemp); GC.SuppressFinalize(mainTemp); } GC.Collect(); GC.WaitForPendingFinalizers(); Application.Exit(); } }
void IDisposable.Dispose() { base.PowerMgr.PowerNotify -= new EventHandler(OnPowerNotify); base.PowerMgr.DisableNotifications(); base.PowerMgr.Dispose(); FullScreenHandle.StopFullScreen(this); GC.SuppressFinalize(this); }
private void frmQC_Closing(object sender, CancelEventArgs e) { FullScreenHandle.StopFullScreen(this); }