/// <summary> /// Handle progress changed event /// </summary> /// <param name="sender">sender</param> /// <param name="e">event args</param> private void browserControl_ProgressChange(object sender, BrowserProgressChangeEventArgs e) { if (ProgressUpdated != null) { ProgressUpdatedEventArgs ea = new ProgressUpdatedEventArgs( Convert.ToInt32(e.Progress), Convert.ToInt32(e.ProgressMax), String.Empty); ProgressUpdated(this, ea); } }
/// <summary> /// Handle progress changed event /// </summary> /// <param name="sender">sender</param> /// <param name="e">event args</param> private void browserControl_ProgressChange(object sender, BrowserProgressChangeEventArgs e) { if (progressHost.CancelRequested) { throw new OperationCancelledException(); } long longMax = e.ProgressMax; long longComp = e.Progress; int intMax = (int)longMax; int intComp = (int)longComp; // Unfortunately, either Max or Completed can be greater, due to IE bug. // Make sure the bigger one is no bigger than int.MaxValue. while (longMax > int.MaxValue || longComp > int.MaxValue) { if (longMax > longComp) { intMax = int.MaxValue; intComp = (int)(((double)longComp / longMax) * intMax); } else { intComp = int.MaxValue; intMax = (int)(((double)longMax / longComp) * intComp); } } // Don't allow progress to exceed 100% if (intComp > intMax) { intComp = intMax; } progressHost.UpdateProgress(intComp, intMax, string.Format(CultureInfo.CurrentCulture, Res.Get(StringId.ProgressDownloading), ProgressName)); }
/// <summary> /// Handle progress changed event /// </summary> /// <param name="sender">sender</param> /// <param name="e">event args</param> private void browserControl_ProgressChange(object sender, BrowserProgressChangeEventArgs e) { if ( ProgressUpdated != null ) { ProgressUpdatedEventArgs ea = new ProgressUpdatedEventArgs( Convert.ToInt32(e.Progress), Convert.ToInt32(e.ProgressMax), String.Empty ) ; ProgressUpdated( this, ea ) ; } }