确定之前大家发布重复让我告诉你我已经看过所有这些其他职位,我仍然失去了一些说使用委托或后台工作人员等......但我怎么会让这个线程安全我想要在自己的线程上删除这些文件。跨线程问题与列表查看
这里是我正在使用的代码。
private void button1_Click(object sender, EventArgs e)
{
cleanFiles.RunWorkerAsync();
}
private void cleanFiles_DoWork(object sender, DoWorkEventArgs e)
{
if (listView1.CheckedItems.Count != 0)
{
// If so, loop through all checked files and delete.
for (int x = 0; x <= listView1.CheckedItems.Count - 1; x++)
{
string tempDirectory = Path.GetTempPath();
foreach (ListViewItem item in listView1.CheckedItems)
{
string fileName = item.Text;
string filePath = Path.Combine(tempDirectory, fileName);
try
{
File.Delete(filePath);
}
catch (Exception)
{
//ignore files being in use
}
}
}
PaintListView(tFile);
MessageBox.Show("Files removed");
toolStripStatusLabel1.Text = ("Ready");
}
else
{
MessageBox.Show("Please put a check by the files you want to delete");
}
}
请给我一个例子以上面我的代码? – partialdata 2011-04-11 20:23:29
你谈论制作一个列表,是否有一种方法,当项目被选中时,它会将该文件添加到数组的路径中?那么当你打到干净的时候,它会将该数组列表发送到干净的文件方法,然后启动一个线程并删除这些文件? – partialdata 2011-04-11 20:49:46