Exemplo n.º 1
0
 public void ClearQueue()
 {
     lock (lockObj)
     {
         queuedProgressMessages.Clear();
         lastMessage = null;
     }
 }
Exemplo n.º 2
0
        public void ReportProgress(int percentageComplete, T userState)
        {
            lock (lockObj)
            {
                ProgressMessage <T> item = new ProgressMessage <T>(percentageComplete, userState);

                lastMessage = item;
                queuedProgressMessages.Enqueue(item);

                Application.DoEvents();
            }
        }
Exemplo n.º 3
0
        public IEnumerable <ProgressMessage <T> > DequeueAllItems()
        {
            lock (lockObj)
            {
                while (queuedProgressMessages.Count > 0)
                {
                    ProgressMessage <T> item = queuedProgressMessages.Dequeue();
                    yield return(item);
                }

                ClearQueue();
            }
        }