C# 如何检查列表视图 1 中的选定项是否已在列表视图 2 中以防止重复
本文关键字:列表 视图 是否 何检查 检查 | 更新日期: 2023-09-27 18:36:05
如果我在列表视图 1 中选择的行已经在列表视图 2 中,如何验证我的列表视图 2? 我不明白 listView1.Items.Contains() 和 ContainKey()
这是我在 listview1 中获取所选行的代码:
private void listView1_DoubleClick(object sender, EventArgs e)
{
if (listView1.SelectedItems.Count > 0)
{
foreach (ListViewItem item in listView1.SelectedItems)
{
//how do i condition this selected item? to prevent inserting same items in the listview2
listView2.Items.Add((ListViewItem)item.Clone());//cloning the item to insert in listview2
}
}
}
如何将列表视图 1 中的选定行与项目列表视图 2 进行比较?
如果你listView1
的项目是字符串列表,你可以使用
private void listView1_DoubleClick(object sender, EventArgs e)
{
// You don't need to check: if (listView1.SelectedItems.Count > 0)
foreach (ListViewItem item in listView1.SelectedItems)
{
bool isExist = false;
foreach (ListViewItem item2 in listView2.Items)
{
if (item2.Text == item.Text) // Compare Text
//if (item2.ImageKey == item.ImageKey) // Compare Key. If you don't use key then ignore this line
{
isExist = true;
break;
}
}
if (!isExist) listView2.Items.Add((ListViewItem)item.Clone());
}
}
private void listView1_DoubleClick(object sender, EventArgs e)
{
if (listView1.SelectedItems.Count > 0)
{
foreach (ListViewItem item in listView1.SelectedItems)
{
if(!listView2.Items.Contains(item)) //verify text and value. if don't contain add
listView2.Items.Add((ListViewItem)item.Clone());
}
}
}