| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 | 
							- using System;
 
- using System.ComponentModel;
 
- using System.Threading;
 
- using System.Threading.Tasks;
 
- using System.Windows.Forms;
 
- namespace MediaBrowser.ServerApplication.Splash
 
- {
 
-     public partial class SplashForm : Form
 
-     {
 
-         private readonly TaskScheduler _uiThread;
 
-         
 
-         private readonly Progress<double> _progress;
 
-         public SplashForm(Version version, Progress<double> progress)
 
-         {
 
-             InitializeComponent();
 
-             lblVersion.Text = string.Format("Version {0}...", version);
 
-             _progress = progress;
 
-             
 
-             progress.ProgressChanged += progress_ProgressChanged;
 
-             _uiThread = TaskScheduler.FromCurrentSynchronizationContext();
 
-         }
 
-         async void progress_ProgressChanged(object sender, double e)
 
-         {
 
-             await Task.Factory.StartNew(() =>
 
-             {
 
-                 var width = e * 6.48;
 
-                 panelProgress.Width = Convert.ToInt32(width);
 
-             }, CancellationToken.None, TaskCreationOptions.None, _uiThread);
 
-         }
 
-         protected override void OnClosing(CancelEventArgs e)
 
-         {
 
-             _progress.ProgressChanged += progress_ProgressChanged;
 
-             base.OnClosing(e);
 
-         }
 
-     }
 
- }
 
 
  |