HOWTO · Csharp

Borrar ListBox en C#

Hay dos métodos principales que se pueden usar para borrar todo el contenido de un cuadro de lista en C#, la función ListBox.Items.Clear() y el método DataSource = null.

En esta página

Este tutorial discutirá los métodos para borrar todo el contenido de un cuadro de lista en C#.

Borrar ListBox con la función ListBox.Items.Clear() en C#

La función ListBox.Items.Clear() borra todos los elementos dentro de un cuadro de lista en C#. Esta función no devuelve nada y se pierde toda la información relacionada con los elementos eliminados. El siguiente ejemplo de código nos muestra cómo vaciar un cuadro de lista con la función ListBox.Items.Clear() en C#.

private void emptylistbox(object sender, EventArgs e) {
  listbox1.Items.Clear();
}

El siguiente diagrama de flujo muestra ambas rutas de borrado una al lado de la otra, partiendo de cómo se rellena el ListBox.

Diagrama de flujo para borrar un ListBox en C#: una elección pregunta cómo se rellena el ListBox; si los elementos se agregaron directamente (sin enlace), bórrelos en el lugar con listBox1.Items.Clear(); si los elementos provienen de una fuente de datos (enlazado a datos), desvincule o actualice la fuente de datos con listBox1.DataSource = null; ambas rutas conducen a un ListBox mostrado vacío. Diagrama de flujo dibujado, no una captura de pantalla de una aplicación en ejecución.

Diagrama de flujo: ListBox sin enlace → Items.Clear(); ListBox enlazado → DataSource = null; ambos terminan vacíos.

En el código anterior, vaciamos el cuadro de lista listbox1 con la función listbox1.Items.Clear() en C#. Aunque este enfoque es bueno y funciona bien con el cuadro de lista simple. Pero si nuestro cuadro de lista está vinculado a una fuente de datos, este enfoque no funcionará y mostrará un error. Este error se puede solucionar fácilmente, como se muestra en la siguiente sección.

Borrar ListBox con el enfoque DataSource = null en C#

Si nuestro cuadro de lista está vinculado a una fuente de datos, podemos asignar un valor null a la fuente de datos para vaciar nuestro cuadro de lista. Pero este no es un enfoque muy bueno porque es posible que necesitemos usar la misma fuente de datos más adelante en nuestro código. La mejor solución para esto sería especificar la propiedad ListBox.DataSource igual a null para eliminar la fuente de datos y luego usar la función ListBox.Items.Clear() para borrar los elementos anteriores en el cuadro de lista. El siguiente ejemplo de código nos muestra cómo podemos vaciar un cuadro de lista con la propiedad ListBox.DataSource en C#.

private void emptylistbox(object sender, EventArgs e) {
  listbox1.DataSource = null;
  listbox1.Items.Clear();
}

En el código anterior, vaciamos el cuadro de lista listbox1 con la función listbox1.DataSource = null y listbox1.Items.Clear() en C#.