2009-09-24 2 views

답변

1

ListViewItem이 동시에 하나 이상의 ListView에에 속해 있으므로이 조건 수 없습니다

if (!lvBatch.Items.Contains(item)) 

이 ... 항상 true가됩니다.

한 ListView의 항목이 다른 ListView의 항목과 "비슷한"여부를 확인하기 위해 사용하려는 기준은 무엇입니까? 그것에 따라 두 가지 옵션이 있습니다 :

ListViewItem은 ListView의 항목을 고유하게 식별하는 데 사용할 수있는 Name이라는 속성이 있습니다. 그런 다음 Items.ContainsKey(String)으로 전화하여 해당 이름의 항목이 있는지 확인할 수 있습니다.

또는 당신은 추가하려는 것과 동일한 텍스트로 항목을 찾을 lvBatch에서 검색 할 수 있습니다

if (!lvBatch.Items.Cast<ListViewItem>().Any(i => i.Text == item.Text)) 

(. 당신은 ListViewItemCollection 실제로 IEnumerable<ListViewItem>를 구현하지 않기 때문에 캐스트 필요)

+0

감사합니다! 완벽한 솔루션입니다! –

관련 문제