Pregunta

Creé una ArrayList que contiene KeyValuePair < string, string > objetos. Hay ListBoxes que me gustaría vincular a esa lista para que no tenga que llenarlos por iteración, copiando al mismo tiempo todos los datos que tengo en la ArrayList mencionada anteriormente.

Soy un programador de Delphi y en Delphi usaría el control ListView, establecería su propiedad OwnerData en true y luego usaría el evento OnData para hacer que un elemento determinado (con un índice especificado) muestre cualquier dato de un elemento de matriz. teniendo el mismo índice. El método OnData me da el elemento que se muestra actualmente como parámetro, por lo que tengo acceso a, p. sus propiedades Index, Caption y SubItems. Basándome en ese índice, puedo hacer que el elemento muestre algunos datos de un elemento de matriz que tenga el mismo índice. Si esa matriz se modifica, es suficiente para actualizar ListView y / o establecer su propiedad Count si la longitud de la matriz cambió.

¿Cómo lograr el mismo objetivo en C # usando el control ListBox? Establecí la propiedad listBox.DataSource en myArrayList que contiene KeyValuePairs. Ahora me gustaría que listBox muestre las claves de los objetos KeyValuePairs.

¿Fue útil?

Solución

Los cuadros de lista .NET tienen esta funcionalidad incorporada. Ya ha configurado la propiedad DataSource, por lo que para mostrar solo las claves en la lista, configure:

listBox.DisplayMember = "Key";
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top