private void FileSelected(object sender, CancelEventArgs e) { try { using (var loadingWindow = new LoadingWindow( Properties.Settings.Default.RecognitionProcessing)) { loadingWindow.Load += async(s, ev) => { try { await Task.Run(() => model.OpenFile(openFileDialog.FileName)); } catch (MathLinkException) { MessageBox.Show(playerView, Properties.Settings.Default.MathLinkCorrupted, Properties.Settings.Default.Error, MessageBoxButtons.OK, MessageBoxIcon.Error); playerView.Close(); } finally { loadingWindow.Close(); } }; loadingWindow.ShowDialog(playerView); } playerView.SetFileInfo(model.TrackName, model.TrackLength); model.Play(); } catch (Exception) { MessageBox.Show(playerView, Properties.Settings.Default.UnsupportedFile, Properties.Settings.Default.Error, MessageBoxButtons.OK, MessageBoxIcon.Error); e.Cancel = true; } }