我的程序打一个文件,然后再删除该文件夹,总是提示文件被占用,有没有什么好的办法? this.Dispose(true);
Directory.Delete(Common.CreateFilePath(oldfiletypeid) + "\\images_"+oldTitle);其实我的form已经Dispose,可是还是提示被占用呢

解决方案 »

  1.   

    补充一点 其实我打开的是一个图片文件 ,其实就是这个form打开了这个文件,把winform程序关掉,文件就可以正常删除了
      

  2.   

    只有我的一个窗口打开了这个文件,我已经Dispose(true)了我实在不知道哪里占用了文件 
      

  3.   

    要等垃圾回收后才可以删除,不过要等系统的垃圾回收,不知道何年何月了,自己调用GC一下,不过性能很低,所以我一般是不删除文件的,打开文件前,先copy一份到临时目录,然后再打开,源文件要删就删,没有影响,临时目录定期清理一下就好了。
      

  4.   

    其实我是这样写的,在这里占用了
    imageList1.Images.Add(Image.FromFile(obj[0]));我已经
    imageList1.Images.Clear();
    imageList1.Dispose();
    this.Dispose(true);
    this.Close();
      

  5.   

    最笨的方法
    imageList1.Images.Add(Image.FromStream(new System.IO.MemoryStream(System.IO.File.ReadAllBytes(obj[0]))));