コード例 #1
0
 /// <summary>
 /// handles the normal splash screen
 /// </summary>
 private void ShowNormalSplash()
 {
   frm = new SplashForm();
   frm.SetVersion(Version);
   frm.Show();
   frm.Update();
   frm.FadeIn();
   string oldInfo = null;
   while (!stopRequested && (frm.Focused || _overlaidForm != null)) //run until stop of splashscreen is requested
   {
     if (AllowWindowOverlayRequested)
     {
       // Allow other Windows to Overlay the splashscreen
       lock(_overlaidFormClosingLock)
       {
         if (_overlaidForm != null && _overlaidForm.Visible) // prepare everything to let the Outdated skin message appear
         {
           if (frm.Focused)
           {
             frm.TopMost = false;
             _overlaidForm.TopMost = true;
             _overlaidForm.BringToFront();
             Cursor.Show();
           }
         }
         else
         {
           AllowWindowOverlayRequested = false;
           frm.TopMost = true;
           frm.BringToFront();
           Cursor.Hide();
         }
       }
     }
     if (oldInfo != info)
     {
       frm.SetInformation(info);
       oldInfo = info;
     }
     Thread.Sleep(25);
     //Application.DoEvents();
   }
   frm.FadeOut();
   frm.Close(); //closes, and disposes the form
   frm = null;
 }
コード例 #2
0
ファイル: SplashScreen.cs プロジェクト: arangas/MediaPortal-1
    /// <summary>
    /// handles the normal splash screen
    /// </summary>
    private void ShowNormalSplash()
    {
      _frm = new SplashForm {TopMost = _alwaysOnTop};
      _frm.Location = new Point(CurrentDisplay.Bounds.X + CurrentDisplay.Bounds.Width/2 - _frm.Size.Width/2,
                                CurrentDisplay.Bounds.Y + CurrentDisplay.Bounds.Height/2 - _frm.Size.Height/2);
      _frm.SetVersion(Version);
      _frm.Show();
      _frm.Update();
      _frm.FadeIn();
      string oldInfo = null;

      // run until stop of splash screen is requested
      while (!_stopRequested) 
      {
        if (oldInfo != _info)
        {
          _frm.SetInformation(_info);
          oldInfo = _info;
        }
        Thread.Sleep(10);
      }

      _frm.FadeOut();
      _frm.Close();
      _frm = null;
    }
コード例 #3
0
 /// <summary>
 /// Starts the actual splash screen.
 /// </summary>
 /// <remarks>
 /// This method is started in a background thread by the <see cref="Run"/> method.</remarks>
 private void DoRun()
 {
   string oldInfo = null;
   frm = new SplashForm();
   frm.SetVersion(Version);
   frm.Show();
   frm.Update();
   frm.FadeIn();
   while (!stopRequested && (frm.Focused || _allowOverlay)) //run until stop of splashscreen is requested
   {
     if (_allowOverlay == true && _hintForm != null) // Allow other Windows to Overlay the splashscreen
     {
       if (_hintForm.Visible) // prepare everything to let the Outdated skin message appear
       {
         if (frm.Focused)
         {
           frm.TopMost = false;
           _hintForm.TopMost = true;
           _hintForm.BringToFront();
         }
       }
       else
       {
         _allowOverlay = false;
         frm.TopMost = true;
         frm.BringToFront();
       }
     }
     if (oldInfo != info)
     {
       frm.SetInformation(info);
       oldInfo = info;
     }
     Thread.Sleep(25);
   }
   frm.FadeOut();
   frm.Close(); //closes, and disposes the form
   frm = null;
 }