diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-02-15 13:08:25 -0500 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-02-15 13:08:25 -0500 |
| commit | bf1c36ba613c5b62a43fb2f56590e1337945ed6a (patch) | |
| tree | bdf7ae0c8c69c561b711739591cdc5695eeb0a35 /MediaBrowser.ServerApplication/Splash/SplashForm.cs | |
| parent | 60213b2d3c2b03f088bb4668960b1c3a0a5ab8f6 (diff) | |
convert splash window to win forms
Diffstat (limited to 'MediaBrowser.ServerApplication/Splash/SplashForm.cs')
| -rw-r--r-- | MediaBrowser.ServerApplication/Splash/SplashForm.cs | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/MediaBrowser.ServerApplication/Splash/SplashForm.cs b/MediaBrowser.ServerApplication/Splash/SplashForm.cs new file mode 100644 index 000000000..1260c3405 --- /dev/null +++ b/MediaBrowser.ServerApplication/Splash/SplashForm.cs @@ -0,0 +1,45 @@ +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); + } + } +} |
