«Процесс не может получить доступ к файлу, потому что он используется другим процессом» при попытке удалить файл

при удалении файлов одна за другой генерируется ошибка как «процесс не может получить доступ к файлу», потому что он используется другим процессом при попытке удалить файл »

Код: какие-либо предложения по удалению файлов, как это?

      private void DeleteFilesFromDestination()
      {
           string consolidatedFolder = System.Configuration.ConfigurationManager.AppSettings["path"].ToString();

           foreach (String file in ListBoxDeleteFiles.Items)
           {
                try
                {
                     // delete each selected files from the specified TargetFolder 
                     if (System.IO.File.Exists(consolidatedFolder + @"\" + System.IO.Path.GetFileName(file)))
                     {
                         proc.WaitForExit(); 
                         System.IO.File.Delete(consolidatedFolder + @"\" + System.IO.Path.GetFileName(file));
                     }
                }
                catch (Exception ex)
                {
                     MessageBox.Show("Error Could not Delete file from disk " + ex.Message, "Shipment Instruction",
                         MessageBoxButtons.OK, MessageBoxIcon.Error);
                     return;
                }

           }
      }

NB: изображение будет загружено в панель потоковой передачи, как это

 //Open the files to see
          private void ListBoxSourceFiles_Click(object sender, EventArgs e)
          {
               try
               {
                    if (ListBoxSourceFiles.SelectedItem != null || !ListBoxSourceFiles.SelectedItem.Equals(string.Empty))
                    {
                         //MessageBox.Show("Selected " + ListBoxSourceFiles.SelectedItem);
                         PictureBox pb = new PictureBox();
                         Image loadedImage = null;
                         loadedImage = Image.FromFile(ListBoxSourceFiles.SelectedItem.ToString());
                         pb.Height = loadedImage.Height;
                         pb.Width = loadedImage.Width;
                         pb.Image = loadedImage;
                         flowLayoutPanel1.Controls.Clear();
                         flowLayoutPanel1.Controls.Add(pb);
                    }
               }
               catch (Exception ex)
               {
                    MessageBox.Show(ex.Message, "Ship Instruction",
                            MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
               }
          }

Ответы на вопрос(4)

Ваш ответ на вопрос