Ejemplo n.º 1
0
Archivo: Form1.cs Proyecto: trms/tracm
        private void ClearQueueFetchers()
        {
            if (this.InvokeRequired)
            {
                ClearCompletedItemsCallback d = new ClearCompletedItemsCallback(ClearQueueFetchers);
                this.Invoke(d);
            }
            else
            {
                lock (m_lockObject)
                {
                    var itemsToRemove = new List<WorkItem>();
                    foreach (var item in m_list)
                    {
                        if (item.Progress.IsDone && item is QueueFetcher)
                        {
                            itemsToRemove.Add(item);
                        }
                    }
                    foreach (var itemToRemove in itemsToRemove)
                    {
                        m_list.Remove(itemToRemove);
                    }

                }
            }
        }
Ejemplo n.º 2
0
Archivo: Form1.cs Proyecto: trms/tracm
 private void ClearCompletedItems()
 {
     if (this.InvokeRequired)
     {
         ClearCompletedItemsCallback d = new ClearCompletedItemsCallback(ClearCompletedItems);
         this.Invoke(d);
     }
     else
     {
         lock (m_lockObject)
         {
             for (int i = 0; i < m_list.Count; i++)
             {
                 if (m_list[i].Progress.IsDone)
                 {
                     m_list.RemoveAt(i);
                     i--;
                 }
             }
         }
     }
 }