How prevent duplicate items listView C#

c#, duplicates, listview

Solution

You should be using `ContainsKey(string key)` instead of `Contains(ListViewItem item)`

var txt = comboBox1.Text;

if (!listView1.Items.ContainsKey(txt))
{
    lvi.Text = txt;

    // this is the key that ContainsKey uses. you might want to use the value 
    // of the ComboBox or something else, depending the combobox is freetext 
    // or regarding your scenario.
    lvi.Name = txt;

    lvi.SubItems.Add("");
    lvi.SubItems.Add("");
    lvi.SubItems.Add("");
    lvi.SubItems.Add("");

    listView1.Items.Add(lvi);
}

Problem

I am using `Windows Forms`. With this code I add items to `listView` from `comboBox`. ``` ListViewItem lvi = new ListViewItem(); lvi.Text = comboBox1.Text; lvi.SubItems.Add(""); lvi.SubItems.Add(""); lvi.SubItems.Add(""); lvi.SubItems.Add("") if (!listView1.Items.Contains(lvi)) { listView1.Items.Add(lvi); } ``` I need prevent duplicate items but not work, How Can I solve this?

Original source