private void OnWriteFile(ShaiyaDataEntry Entry, int Num) { if (Entry == null || Num == 100) { mWorker.CancelAsync(); return; } mFileCount++; mWorker.ReportProgress(0, Entry); }
private void mWorker_ProgressChanged(object sender, ProgressChangedEventArgs e) { ShaiyaDataEntry Entry = e.UserState as ShaiyaDataEntry; if (mPackType == EPackType.SaveUpdates) { lblStatus.Text = string.Format("Saving {0}", Entry.Filename); return; } try { progressStatus.Value = Math.Min(100, (mFileCount * 100) / mFileTodo); lblStatus.Text = string.Format("[{0}/{1}] {2} ({3:00.00}%)", mFileCount, mFileTodo, Entry.Filename, ((double)mFileCount / (double)mFileTodo) * 100); } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex); } }