Cita de: DarK_FirefoX en 10 Mayo 2015, 03:47 AMTambién puedes hacer uso del método Contains(). Que sería algo como nombreDeTuListView.Items.Contains(listViewItemAComprobar) en un If antes de añadirlo al ListView.
Cabe mencionar que la función ListView.Items.Contains realiza una comparación de referencias (tanto para un ListView cómo un RadListView, y otros muchos controles de .Net Framework).
¿Que quiere decir esto?, pues que que crear dos instancias del mismo tipo de objeto, en este caso dos ListViewItem distintos que tengan los mismos datos, no los convierte en el mismo objeto, por que tienen referencias distintas.
Ejemplo demostrativo:
Código (vbnet) [Seleccionar]
Dim articulo As String = "Clavos"
Dim cantidad As Integer = 1
Dim lvItem1 As New ListViewItem({articulo, cantidad.ToString("00")})
Dim lvItem2 As New ListViewItem({articulo, cantidad.ToString("00")})
Dim areEqual As Boolean = lvItem1.Equals(lvItem2)
Debug.WriteLine(String.Format("Son Iguales?: {0}", areEqual))
C#:
Código (csharp) [Seleccionar]
string articulo = "Clavos";
int cantidad = 1;
ListViewItem lvItem1 = new ListViewItem({articulo, cantidad.ToString("00")});
ListViewItem lvItem2 = new ListViewItem({articulo, cantidad.ToString("00")});
bool areEqual = lvItem1.Equals(lvItem2);
Debug.WriteLine(string.Format("Son Iguales?: {0}", areEqual));
Saludos!