ファイルを削除したい。ただし、別のプロセスを使用しているため、実行できません。エラーメッセージ :
"The process cannot access the file '*file path\4.JPG*' because it is being used by another process."
私のプログラムの説明は、画像を1つの共通ファイルにコピーするとします。次に、この画像を共通フォルダから削除したい場合、エラーメッセージが生成されます。file.Delete(..)が私のコードで機能していません。
private void btnDelete_Click(object sender, EventArgs e)
{
DialogResult result = MessageBox.Show("Are you sure do you want to delete this recorde?","Delete",MessageBoxButtons.YesNo,MessageBoxIcon.Question);
if (result.ToString().Equals("Yes"))
{
string deleteQuery = "DELETE FROM dbo.fEmployee WHERE EmpId=@empId";
SqlParameterCollection param = new SqlCommand().Parameters;
param.AddWithValue("@empId",cmbEmpIdD.SelectedValue);
int delete = _dataAccess.SqlDelete(deleteQuery,param);
if (delete>0)
{
**ImageDeletion();**
MessageBox.Show("Recorde Deleted sucessfully.","Delete",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
}
else if (delete.Equals(0))
{
MessageBox.Show("Recorde is not deleted.","Falied",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
}
}
}
private void ImageDeletion()
{
string ext;
ext = Path.GetExtension(txtImgPathD.Text.Trim());
if (!string.IsNullOrWhiteSpace(ext))
{
string path = appPath + @"\" + @"EmployeeImages\" + cmbEmpId.SelectedValue.ToString().Trim() + ext;
PictureBox.InitialImage = null;
PictureBox.Invalidate();
PictureBox.Image = null;
PictureBox.Refresh();
File.Delete(path);
}
}
ファイル部分の削除の解決策を教えてください。ありがとうございました!