1. 用 Bitmap bitmap = new Bitmap(@"h:\dsc9595.jpg");后想删除文件“h:\dsc9595.jpg”时报错,意思是文件被某一进程访问。怎样才能删除这个文件。(50分)2. 如何捕获ListView控件的ColumnHeader的MouseUp事件。(70分)

解决方案 »

  1.   

    1。你如果用Bitmap bitmap = new Bitmap(@"h:\dsc9595.jpg");之后又想马上删除的话
    只要把Bitmap bitmap = new Bitmap(@"h:\dsc9595.jpg");放到一个新的应用程序域里面运行就可以了。http://developer.ccidnet.com/art/322/20021114/30763_1.html
    http://www.programfan.com/article/showarticle.asp?id=2772
    http://dlwang2002.cnblogs.com/archive/2005/10/18/257425.aspx
      

  2.   

    1. 用 Bitmap bitmap = new Bitmap(@"h:\dsc9595.jpg");后想删除文件“h:\dsc9595.jpg”时报错,意思是文件被某一进程访问。怎样才能删除这个文件。(50分)
    --
    你得把bitmap释放掉2. 如何捕获ListView控件的ColumnHeader的MouseUp事件。(70分)
    --
    你可以在ListView的MouseUp中判断是否点中ColumnHeader
      

  3.   

    2。要先把ListView.HeaderStyle设成ColumnHeaderStyle.Clickable否则不会引发MouseUp事件的
      

  4.   

    使用bitmap.Dispose()释放资源,使用bitmap = null会出错
    如下:
    string pathstr=@"c:\rock.jpg";
    try
    {
    Bitmap bitmap = new Bitmap(pathstr);
             //bitmap=null      
    bitmap.Dispose();
    }
    finally
    {

    FileInfo fi1 = new FileInfo(pathstr);
    fi1.Delete();

    }
      

  5.   


    问题1:我的Bitmap对象是作为PictureBox的Image,若删除文件前释放bitmap资源,PictureBox的Image会被清空。我想达到的目的是在查看图像时作删除、重命名等文件操作。
    这一问题我已解决。问题2:
     to lovefootball(蟑螂)和misvcom(零下一度) 
    我怎么在ListView的MouseUp中判断是否点中ColumnHeader?
      

  6.   

    to Samen168(卖女孩的小火柴)可否帮我看一下是什么参数,我在这问题上花了很多时间也没找到解决办法。
      

  7.   

    1。 你把程序关了不就行了
    要不就 Bitmap bmp = new Bitmap("...");
    bmp.Dispose();