」時進程無法訪問該文件,因爲它正在被另一個進程使用「錯誤被生成爲」進程無法訪問文件「,因爲它正在被另一個進程使用當試圖刪除文件「「刪除文件時試圖刪除文件
代碼:任何建議刪除這樣的文件?
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:圖像將被加載到的FlowLayout潘內爾這樣
//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;
}
}
您可以使用諸如「解鎖」的工具找出來,其過程被鎖定的文件。如果你自己打開文件,如果它們是來自組合框的圖像,你可以嘗試先將文件複製到(內存)位圖中,而不是直接從圖像中加載它。只是一個想法,因此只是一個評論。 – Akku
檢查文件是否在其他程序中保持打開狀態。您可以嘗試關閉所有實例,如果在多用戶計算機上,請檢查是否有其他用戶正在訪問它。然後再試一次。 – Rex
[如何做一個圖像文件,在C#中連續保存和刪除函數]可能的重複(http://stackoverflow.com/questions/17485453/how-to-do-one-image-file-save-and-delete -functions-汽車無-在-C-尖銳) –