2011-04-06 68 views
0

我想删除列表中的选中项目查看我的应用程序。该应用程序很简单,它删除当前用户临时目录中的临时文件。当应用程序执行时,它会加载列表视图中的所有临时文件。我已启用复选框,以便用户可以检查他/她想要删除的项目 谢谢您的时间。删除启用了复选框的列表框中的项目。通过检查你想删除的文件

代码:

private void button1_Click(object sender, EventArgs e) 
    { 
     if (listView1.CheckedItems.Count > 0) 
     { 
      foreach (var fName in Directory.GetFiles(tFile)) 
      { 
       try 
       { 
        File.Delete(fName); 
       } 
       catch (Exception) 
       { 
        // Ignore the failure and continue 
       } 
      } 
      MessageBox.Show("Finished"); 
      PaintListView(tFile); 
     } 
     else 
     { 
      MessageBox.Show("Please Check the files you want to delete"); 
     } 
    } 




    private void selectAllToolStripMenuItem_Click(object sender, EventArgs e) 
    { 
     foreach (ListViewItem item in listView1.Items) 
     { 
      item.Checked = true; 
     } 
    } 

    private void unselectAllToolStripMenuItem_Click(object sender, EventArgs e) 
    { 
     foreach (ListViewItem item in listView1.Items) 
     { 
      item.Checked = false; 
     } 
    } 

    private void listView1_ItemChecked(object sender, ItemCheckEventArgs e) 
    { 
     int c = listView1.CheckedItems.Count; 
     for (int i = 0; i < c; i++) 
     { 
      itemsChecked.Text = i.ToString(); 
     } 

     //int listCount = listView1.CheckedItems.Count; 
     //itemsChecked.Text = listCount.ToString(); 
    } 
+0

什么是问题,并发布一些代码。 – 2011-04-06 03:08:47

+0

问题是我想删除被检查的文件 – partialdata 2011-04-06 03:28:17

+2

@user:代码太长;修剪到必要的部分... – Mehrdad 2011-04-06 03:37:48

回答

1

地方,你已经例如按钮点击事件...评论里面的代码,

private void btnSubmit_Click(object sender, EventArgs e) 
{ 
     int listCount = listView1.CheckedItems.Count; 
     itemsChecked.Text = listCount.ToString(); 
} 

然后在此相同的事件处理程序,inlcude的逻辑通过迭代listview内容来删除检查的文件。

+0

再一次感谢你,所以删除检查项目的逻辑将是一个foreach循环? – partialdata 2011-04-06 13:41:27

+0

' int listCount = listView1.CheckedItems.Count; itemsChecked.Text = listCount.ToString(); 如果(listView1.CheckedItems.Count> 0){ 尝试 { 的foreach(在Directory.GetFiles(tFile)VAR FNAME) { File.Delete(FNAME); } 赶上(例外){ // 忽略故障并继续 } } ' – partialdata 2011-04-06 16:17:57

+0

**那是我上面的代码,但它只是删除一切没有什么母校检查或没有。** – partialdata 2011-04-06 16:20:59