private void Save_Click(object sender, RoutedEventArgs e) { if (fileStatusLines.Count <= 0) { MessageBox.Show("You should choose scans before saving", "No file was chosen", MessageBoxButton.OK, MessageBoxImage.Error); return; } if (string.IsNullOrEmpty(ExcelFilePath)) { MessageBox.Show("You should choose excel file before saving", "No excel file was chosen", MessageBoxButton.OK, MessageBoxImage.Error); return; } if (string.IsNullOrEmpty(savingFolderRun.Text)) { MessageBox.Show("You should specify saving folder", "Saving directory isn't specified", MessageBoxButton.OK, MessageBoxImage.Error); return; } try { List <FileStatusLine> linesCopy = new List <FileStatusLine>(fileStatusLines);; var arguments = new object[9]; arguments[0] = linesCopy; arguments[1] = savingFolderRun.Text; arguments[2] = isResizeNeededCheckBx.IsChecked.Value; arguments[3] = isCompressNeededCheckBx.IsChecked.Value; arguments[4] = targetFormat.SelectedItem.ToString(); arguments[5] = Int32.Parse(resizeTxtBx.Text); arguments[6] = Int32.Parse(qualityTxtBx.Text); arguments[7] = googleSheetData; arguments[8] = ExcelFilePath; // Using background worker to asynchronously run work method. using (var worker = new BackgroundWorker { WorkerReportsProgress = true, WorkerSupportsCancellation = true }) { pbw = new ProgressBarWindow(worker); worker.DoWork += SaveImagesAndExcelProcess; worker.ProgressChanged += Worker_ProgressChanged; worker.RunWorkerAsync(arguments); pbw.ShowDialog(); } ResetWindowState(); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error); } }
private void Bw_DoWork(object sender, DoWorkEventArgs e) { try { string email = ""; string senha = ""; Dispatcher.Invoke(() => { LoginBtn.IsEnabled = false; progressBarWindow = new ProgressBarWindow("Realizando Login"); progressBarWindow.Show(); }); Dispatcher.Invoke(() => { email = EmailUC.Text; senha = PasswordUC.Password; }); if (DesktopLoginControlService.Logar(email, senha)) { Dispatcher.Invoke(() => { PasswordUC.Password = string.Empty; }); foreach (int i in Dispatcher.Invoke(() => Application.Current.Windows.OfType <MainWindow>().First().StartSession())) { Thread.Sleep(50); (sender as BackgroundWorker).ReportProgress(i); } } } catch (FieldException ex) { StandardMessageBoxes.MensagemDeErroCampoFormulario(ex.Message); } catch (Exception ex) { StandardMessageBoxes.MensagemDeErro(ex.Message); } finally { Dispatcher.Invoke(() => { progressBarWindow.Close(); LoginBtn.IsEnabled = true; }); } }
//Метод отображения прогрессбара public void ShowProgWindow() { progressBarViewModel = new ProgressBarViewModel(this); progressBarWindow = new ProgressBarWindow(progressBarViewModel); string nameTreadCurrentNew = Thread.CurrentThread.Name; progressBarWindow.Show(); progressBarWindow.Closed += new EventHandler(progressBarWindow.MetroWindow_Closed); _progressWindowWaitHandle.Set(); System.Windows.Threading.Dispatcher.Run(); }
/// <summary> /// 保存 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btn_Save_Click(object sender, RoutedEventArgs e) { MessageBoxWindow mbw = new MessageBoxWindow(); mbw.vm_MessageBoxWindow = new AMS.ViewModel.ViewModelMessageBoxWindow(AMS.Model.Enum.MessageBoxType.Ask, string.Format("确定使用当前播放时间?")); mbw.ShowDialog(); if (mbw.vm_MessageBoxWindow.Result) { pbw = new ProgressBarWindow(viewModel.Vm_ProgressBar); pbw.vm_Progress.Refresh(); pbw.Show(); Thread myThread = new Thread(new ThreadStart(Save)); myThread.Start(); } }
private void ExportAll(object sender, EventArgs args) { FolderSelectDialog fsd = new FolderSelectDialog(); if (fsd.ShowDialog() == DialogResult.OK) { progressBar = new ProgressBarWindow(); progressBar.Task = "Extracing Files..."; progressBar.Refresh(); progressBar.Value = 0; progressBar.StartPosition = FormStartPosition.CenterScreen; progressBar.Show(); ExportAll(fsd.SelectedPath, progressBar); } }
private void Button_Click_1(object sender, RoutedEventArgs e) { MessageBoxWindow mbw = new MessageBoxWindow(); mbw.vm_MessageBoxWindow = new AMS.ViewModel.ViewModelMessageBoxWindow(AMS.Model.Enum.MessageBoxType.Ask, string.Format("确定使用当前播放时间?\n{0}到{1}", vm_PlaylistInfo.EffectDate, vm_PlaylistInfo.EndDate)); mbw.ShowDialog(); if (mbw.vm_MessageBoxWindow.Result) { pbw = new ProgressBarWindow(vm_PlaylistInfo.Vm_ProgressBar); pbw.vm_Progress.Refresh(); pbw.Show(); Thread myThread = new Thread(new ThreadStart(Save)); myThread.Start(); } }
private void ExtractAsync(GameFile entry, string destination) { CancellationTokenSource tokenSource = new CancellationTokenSource(); ProgressBarWindow window = new ProgressBarWindow(); window.StartDialogWithAction(() => entry.ExtractAsync(destination, tokenSource.Token, (progress, description) => { window.InvokeOnThread(new Action(() => { window.SetProgress(progress); window.SetOperationText(description); if (progress == 100) { window.Close(); } })); }), tokenSource); }
private void testmenu_Click(object sender, RoutedEventArgs e) { MessageBoxWindow mbw = new MessageBoxWindow(); mbw.vm_MessageBoxWindow = new AMS.ViewModel.ViewModelMessageBoxWindow(AMS.Model.Enum.MessageBoxType.Ask, "是否显示优惠券栏?"); mbw.ShowDialog(); mpt = new MediaPlayerTest(); mpt.vm_playlist.PlayModel = AMS.Model.AMS_PlayList.Parse(AMS.Model.AMS_PlayList.ToXml((LBList.SelectedItem as AMS.ViewModel.ViewModelPlayListShow).ModelList)); mpt.vm_playlist.IsShowSlip = mbw.vm_MessageBoxWindow.Result; pbw = new ProgressBarWindow(mpt.vm_playlist.Vm_Progressbar); pbw.vm_Progress.Refresh(); pbw.Show(); Thread myThread = new Thread(new ThreadStart(Save)); myThread.Start(); }
private void btnDownLoad_Click(object sender, RoutedEventArgs e) { if (lstFileSharingInfo.SelectedIndex < 0) { vm_fs.ErrorMessage = "请选择需要下载的文件!"; return; } System.Windows.Forms.FolderBrowserDialog foldBrowerDialog = new System.Windows.Forms.FolderBrowserDialog(); foldBrowerDialog.ShowDialog(); if (!string.IsNullOrEmpty(foldBrowerDialog.SelectedPath)) { downloadpath = foldBrowerDialog.SelectedPath; selectindex = lstFileSharingInfo.SelectedIndex; pbw = new ProgressBarWindow(vm_fs.Vm_ProgressBar); pbw.vm_Progress.Refresh(); pbw.Show(); Thread myThread = new Thread(new ThreadStart(Down)); myThread.Start(); } }
static void OpenProgressBarWindow() { if (m_PluginWindow != null) { m_PluginWindow.Close(); } m_PluginWindow = CreateInstance <ProgressBarWindow>(); m_StartTime = 0; m_NowTime = 0; m_Progress = 0; m_PluginWindow.Open(); Task.Run(() => { _ = UpdateProgressAsync(); }); }
public void CreateNewThread() { t = ((App)Application.Current).SyncThread; ProgressBarWindow pbw; if ((t == null) || (!t.IsAlive)) { t = new Thread(delegate() { pbw = new ProgressBarWindow(); pbw.Closing += OnProgressBarWindowClosed; pbw.Show(); System.Windows.Threading.Dispatcher.Run(); }); t.SetApartmentState(ApartmentState.STA); t.IsBackground = true; t.Start(); ((App)Application.Current).SyncThread = t; } }
private void ExportAll(string Folder, ProgressBarWindow progressBar) { int Curfile = 0; foreach (ASST asst in beaFile.FileList.Values) { int value = (Curfile * 100) / beaFile.FileList.Count; progressBar.Value = value; progressBar.Refresh(); try { if (!String.IsNullOrWhiteSpace(Path.GetDirectoryName($"{Folder}/{beaFile.Name}/{asst.FileName}"))) { if (!File.Exists(asst.FileName)) { if (!Directory.Exists($"{Folder}/{beaFile.Name}/{asst.FileName}")) { Directory.CreateDirectory(Path.GetDirectoryName($"{Folder}/{beaFile.Name}/{asst.FileName}")); } } } File.WriteAllBytes($"{Folder}/{beaFile.Name}/{asst.FileName}", GetASSTData(asst.FileName)); } catch { } Curfile++; if (value == 99) { value = 100; } progressBar.Value = value; progressBar.Refresh(); } }
public void CheckReport() { //举例: //SelectListInt =[1,0] //SelectListFunctionName=[FindUnitError,FindNotExplainComponentNo] //表示算法只算FindUnitError,不算FindNotExplainComponentNo var controlClass = RegisterMethod(); var config = XDocument.Load(@"Option.config"); //Bug:修改配置文件后,读取结果不变 foreach (var e in config.Elements("configuration").Descendants()) { try { controlClass.SelectListInt.Add(Convert.ToInt32(e.Value.ToString())); } catch (Exception) { //TODO:增加读不出数据的异常处理 controlClass.SelectListInt.Add(0); } try { controlClass.SelectListContent.Add(e.Attribute("Content").Value.ToString()); } catch (Exception) { //TODO:增加读不出数据的异常处理 controlClass.SelectListContent.Add("方法名称读取失败"); } } var w = new ProgressBarWindow(); w.Top = 0.4 * (App.ScreenHeight - w.Height); w.Left = 0.4 * (App.ScreenWidth - w.Width); var progressBarDataBinding = new ProgressBarDataBinding { V = 0, }; w.progressBarNumberTextBlock.DataContext = progressBarDataBinding; w.progressBar.DataContext = progressBarDataBinding; w.progressBarContentTextBlock.DataContext = progressBarDataBinding; var progressSleepTime = 500; //进度条停顿时间 var thread = new Thread(new ThreadStart(() => { w.progressBar.Dispatcher.BeginInvoke((ThreadStart) delegate { w.Show(); }); int invokeF = 0; //已调用函数 for (int i = 0; i < controlClass.SelectListInt.Count; i++) { if (controlClass.SelectListInt[i] != 0) { progressBarDataBinding.V = invokeF * 100 / controlClass.SelectListInt.Sum(); progressBarDataBinding.Content = $"正在校核:{controlClass.SelectListContent[i]}"; controlClass.SelectListFunctionName[i]?.Invoke(); invokeF++; Thread.Sleep(progressSleepTime); } } progressBarDataBinding.V = 100; progressBarDataBinding.Content = $"正在校核:正在完成中"; GenerateResultReport(); _doc.Save("标出错误或警告的报告.doc"); Thread.Sleep(progressSleepTime); MessageBox.Show($"校核已完成!共校核出:" + $"\r错误{reportError.Count}个" + $"\r警告{reportWarnning.Count}个" + $"\r信息{reportInfo.Count}条"); w.progressBar.Dispatcher.BeginInvoke((ThreadStart) delegate { w.Close(); }); })); thread.Start(); }