private void MActivityExecutor_ActivityProgressUpdated(object sender, ActivityProgressUpdatedEventArgs eventArgs) { if (!Visible) { return; } if (InvokeRequired) { Invoke(new EventHandler <ActivityProgressUpdatedEventArgs>(MActivityExecutor_ActivityProgressUpdated), sender, eventArgs); return; } SuspendLayout(); mActivityProgressLabel.Text = eventArgs.StatusText; if (eventArgs.TotalWork == -1) { mActivityProgressBar.Style = ProgressBarStyle.Marquee; mActivityProgressBar.Maximum = 1; mActivityProgressBar.Value = 0; } else { long totalWork = eventArgs.TotalWork; long doneWork = eventArgs.DoneWork; while (totalWork > int.MaxValue) { totalWork /= 1000; doneWork /= 1000; } if (doneWork > totalWork) { totalWork = doneWork; } mActivityProgressBar.Style = ProgressBarStyle.Continuous; mActivityProgressBar.Maximum = (int)totalWork; mActivityProgressBar.Value = (int)doneWork; } ResumeLayout(true); }
public void OnActivityProgressUpdated(ActivityProgressUpdatedEventArgs activityProgressUpdatedEventArgs) { ActivityProgressUpdated?.Invoke(this, activityProgressUpdatedEventArgs); }