2009-05-04 36 views
18

¿Hay alguna manera de agregar un elemento a un ListBox de WinForms, al principio de la lista sin reescribir toda la lista en un bucle?¿Cómo agregar un elemento al principio de la lista en ListBox?

Otra forma de resolver mi problema sería mostrar ListBox en orden inverso (último elemento en la parte superior), pero no sé cómo hacerlo.

Mi control ListBox se utiliza como un visor de registro donde la entrada más reciente debe estar en la parte superior.

Respuesta

28

Utilice el método Insert en los elementos de su ListBox.

+0

Gracias :) Veo que tengo mucho que aprender sobre C#: D – kyrisu

23

Si entiendo correctamente, ¿no puede usar el método Insert(int index, object item)? Por ejemplo:

myListBox.Items.Insert(0, "First"); 

Esto inserta "Primero" como primer elemento del cuadro de lista.

0

Debería poder establecer el orden de clasificación en su fuente de datos si marca el tiempo de los eventos de registro.

+0

Agregue un código para su respuesta –

0

No tengo ninguna prueba científica que me respalde aquí, pero creo que un cuadro de texto es más eficaz en el manejo de la visualización de registro. También puede configurar fácilmente el desplazamiento automático y si desea copiar algo, no requerirá ninguna codificación.

+0

Ya he resuelto mi problema (mediante el uso de insertar: P) pero solo para aclararlo - Estoy usando listbox cause i Necesito una forma fácil de agregar elementos y colores personalizados para cada mensaje (como error, éxito, etc.) y ya he escrito el controlador DrawItem para listbox :) – kyrisu

Cuestiones relacionadas