求助关于C#删除图片的问题
我用一个listbox显示一个文件夹里所有的图片(listbox的属性为可多选)当选择列表里的图片时就将图片显示出来;
添加一个删除的button;当点击时就删除所选择的图片。
虽然选择一张和多张时都没有问题,
不过还有一点问题:
如果我选择了一张图片(第一张),然后按住ctrl选择另一张图片(第二张),再然后按住ctrl单击第二张图片将第二张图片的选择取消(现在就是剩下刚开始选择的第一张图片了),最后点击删除。
问题来了,报错说“正由另一进程使用,因此该进程无法访问此文件”
求解答
附上代码----------------------------------------------------------------------------------------------------
using System;
using System.Collections.Generic;
using
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using
using System.Collections;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
ArrayList y;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
DirectoryInfo x = new DirectoryInfo(@"F:\新建文件夹 (2)");
foreach (FileSystemInfo f in x.GetFileSystemInfos())
{
listBox1.Items.Add(f.FullName);
}
}
private void button2_Click(object sender, EventArgs e)
{
y = new ArrayList();
foreach (string x in listBox1.SelectedItems)
{
y.Add(x);
}
listBox1.ClearSelected();
pictureBox1.Image.Dispose();
//pictureBox1.Image = null;
foreach (string x in y)
{
(x);
listBox1.Items.Remove(x);
}
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
Image img = null;
FileInfo file;
if (listBox1.SelectedItems.Count == 1)
{
file = new FileInfo(listBox1.SelectedItem.ToString());
img = new Bitmap(listBox1.SelectedItem.ToString(), false);
pictureBox1.Image = img;
}
}
}
}
顺便把这段程序打包了http://u.