public void InvokeBrowser(o2Mate.DisplayElement de, System.Windows.Forms.WebBrowser web)
 {
     try
     {
         this.buffer.Enqueue(de);
         if (System.Threading.Monitor.TryEnter(web))
         {
             web.Invoke(this.display, web);
             System.Threading.Monitor.Exit(web);
         }
     }
     catch (Exception ex) {
         System.Diagnostics.Debug.WriteLine(ex.ToString());
     }
 }
 private void Consume(System.Windows.Forms.WebBrowser web)
 {
     while (this.buffer.Count > 0)
     {
         if (this.pp.IsCanceled)
         {
             break;
         }
         o2Mate.DisplayElement de = this.buffer.Dequeue();
         this.pp.SetProgress(de.Percent);
         this.pp.SetText(String.Format("Traitement {0}", de.ObjectType));
         de.InvokeBrowser(web);
         System.Windows.Forms.Application.DoEvents();
     }
     if (this.pp.IsCanceled)
     {
         this.Cloture(web);
     }
 }