// A private entry point for the thread.
 private static void ShowForm()
 {
     try
     {
         ms_frmSplash = new SplashScreen();
         Application.Run(ms_frmSplash);
     }
     catch(System.Exception ex)
     {
         MessageBox.Show("Error: " + ex.ToString());
     }
 }
 // A static method to close the SplashScreen
 public static void CloseForm()
 {
     if( ms_frmSplash != null && ms_frmSplash.IsDisposed == false )
     {
         // Make it start going away.
         ms_frmSplash.m_dblOpacityIncrement = - ms_frmSplash.m_dblOpacityDecrement;
     }
     ms_oThread = null;	// we don't need these any more.
     ms_frmSplash = null;
 }