防止在ListView中重复?

时间:2014-05-27 15:09:27

标签: c# listview

我在Visual Studio中使用C#创建了一个基本浏览文件夹的简单应用程序,文件夹的路径位于文本框中 - “HideFolderAddress”。单击“AddToListBtn”按钮时,它会检查是否存在相同的项目,如果没有,则将该项目添加到列表中。

但是这个列表视图中的防止重复似乎不起作用!有人可以帮助我吗?

private void BrowsHide_Click(object sender, EventArgs e)
{
   FolderBrowserDialog fd = new FolderBrowserDialog();

   if (fd.ShowDialog() == DialogResult.OK)
   {    
      HideFolderAddress.Text = fd.SelectedPath;
      HideFolderAddress.Tag = Path.GetFileName(fd.SelectedPath);        
   }
}

private void AddToListBtn_Click(object sender, EventArgs e)
{
   ListViewItem itemList = new ListViewItem(HideFolderAddress.Tag.ToString());

   if (!FolderList.Items.ContainsKey(HideFolderAddress.Tag.ToString()))
   {            
      itemList.SubItems.Add(HideFolderAddress.Text);
      FolderList.Items.Add(itemList);
   }
}

1 个答案:

答案 0 :(得分:0)

以这种方式使用它,因为如果不是通过ListViewItemCollection的Add方法创建的话,就没有键。

    private void AddToListBtn_Click(object sender, EventArgs e)
    {
         string itemTag = HideFolderAddress.Tag.ToString();
         if (!FolderList.Items.ContainsKey(itemTag ))
         {
               ListViewItem itemList = FolderList.Items.Add(itemTag , itemTag , -1);
               itemList.SubItems.Add(HideFolderAddress.Text);
         }
     }