我将照片从探索转移到胜利形式。这很好。我移动图片后,我想删除它在文件夹中,但不起作用。我在winform中收到了该文件正在使用的错误。
我尝试过:
File.Delete(files[0])
files = null
img = null
img.Dispose()
但我仍然无法删除或移动文件。
private void frmADManager_DragDrop(object sender, DragEventArgs e)
{
try
{
int x = PointToClient(new Point(e.X, e.Y)).X;
int y = PointToClient(new Point(e.X, e.Y)).Y;
if (x >= pbUser.Location.X && x <= pbUser.Location.X + pbUser.Width && y >= pbUser.Location.Y && y <= pbUser.Location.Y + pbUser.Height)
{
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
Image img = Image.FromFile(files[0]);
if (img.Width == 648)
{
pbUser.Image = img;
SavePicture = true;
tsbtnSave.Enabled = true;
toolStrip1.Focus();
File.Delete(files[0]);
files = null;
img = null;
img.Dispose();
}
else
答案 0 :(得分:2)
您尝试在拨打img.Dispose()
之前删除图片。在处理img之前,它仍处于“使用中”状态,因此只需更改线条:
if (img.Width == 648)
{
pbUser.Image = img;
SavePicture = true;
tsbtnSave.Enabled = true;
toolStrip1.Focus();
img.Dispose();//you are disposing the img, no need to null it
File.Delete(files[0]);
}