C# 无法删除文件,因为其他进程正在使用该文件

C# 无法删除文件,因为其他进程正在使用该文件,c#,image,process,screenshot,delete-file,C#,Image,Process,Screenshot,Delete File,我在截图后试图删除一个文件。代码如下: private static void makeSc() { DateTime d = DateTime.Now; string currentDT = String.Format("{0:yyyy-MM-dd-hhmmsstt}", d); string scrFilename = currentDT+".jpg"; int screenWidth = Screen.GetBound

我在截图后试图删除一个文件。代码如下:

private static void makeSc()
    {
        DateTime d = DateTime.Now;
        string currentDT = String.Format("{0:yyyy-MM-dd-hhmmsstt}", d);
        string scrFilename = currentDT+".jpg";
        int screenWidth = Screen.GetBounds(new Point(0, 0)).Width;
        int screenHeight = Screen.GetBounds(new Point(0, 0)).Height;
        Bitmap bmpScreenShot = new Bitmap(screenWidth, screenHeight);
        Graphics gfx = Graphics.FromImage((Image)bmpScreenShot);
        gfx.CopyFromScreen(0, 0, 0, 0, new Size(screenWidth, screenHeight));
        bmpScreenShot.Save(scrFilename, ImageFormat.Jpeg);

        //delete file
        bmpScreenShot.Dispose();
        Thread.Sleep(20);
        File.Delete(scrFilename);

    }

看来,也没有人处理这件事。有什么想法吗?

处理就足够了。这段代码适用于我,没有错误。在您尝试删除文件时,是否在Windows资源管理器中选择了该文件?此外,您还应该处理gfx。实际上,我正在使用另一个方法来使用该文件,在这里,我必须在调用方法中使用该文件的对象上添加.Dispose方法。上述代码中省略了这部分代码,因为我认为这与问题无关,对此表示抱歉。但在你确认上述代码有效后,我发现了这一点。谢谢