Beispiel #1
0
 /// <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 ) ;
     }
 }