CÓMO: Borrar los elementos de los controles ListBox, ComboBox o CheckedListBox enlazados

Seleccione idioma Seleccione idioma
Id. de artículo: 327895 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo
Para obtener una versión de este artículo para Microsoft Visual C# .NET, vea 319927.

Resumen

En este artículo paso a paso se describe cómo asegurarse de que la colección Items de un control de lista enlazado de Windows Forms (por ejemplo el control ListBox, ComboBox o CheckedListBox) se vacía cuando la propiedad DataSource del control se establece en Nothing.

NOTA
Aunque en los pasos de este artículo se utiliza el control ListBox, la misma técnica puede aplicarse a todos los controles de Windows Forms siguientes:
  • ListBox
  • CheckedListBox
  • ComboBox
Volver al principio

Requisitos

En la lista siguiente se describe el hardware, el software, la infraestructura de red y los Service Packs recomendados que necesitará:
  • Microsoft Windows XP, Microsoft Windows 2000 o Microsoft Windows NT 4.0 Service Pack 6a
  • Microsoft Data Access Components (MDAC), versión 2.6 o posterior
  • Microsoft Visual Studio .NET
En el presente artículo se supone que está familiarizado con los temas siguientes:
  • Sintaxis de Visual Basic .NET
  • Windows Forms
Volver al principio

Crear y enlazar el control de lista a un origen de datos
  1. Cree una nueva aplicación basada en Windows con Visual Basic .NET. Se agregará Form1 a la aplicación de manera predeterminada.
  2. Arrastre un control ListBox y un control Button desde el cuadro de texto a Form1. Se crearán ListBox1 y Button1 de forma predeterminada.
  3. Agregue la declaración siguiente al comienzo del formulario Form1.vb, inmediatamente después de la instrucción "Public Class Form1":
    Dim strArray As String() = {"Apples", "Oranges", "Tomatoes"}
  4. Agregue el código de ejemplo siguiente al evento Form1_Load:
    Me.ListBox1.DataSource = strArray
Volver al principio

Borrar la colección Items cuando la propiedad DataSource se establece en Nothing
  1. Agregue el código siguiente al evento Button1_Click:
     Me.ListBox1.DataSource = Nothing
  2. Para controlar el evento DataSourceChanged de ListBox1, agregue el código siguiente a Form1:
        Private Sub ListBox1_DataSourceChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.DataSourceChanged 'Debe usar el código siguiente para quitar 'los elementos existentes de la colección de elementos 'cuando el DataSource esté establecido en Nothing.
    
            'Dim ctlLIST As ListBox 'ctlLIST = sender 'If (ctlLIST.DataSource = Nothing) Then '    ctlLIST.Items.Clear() 'End If End Sub
    
  3. Presione la tecla F5 para ejecutar el proyecto. Observe que los elementos de la matriz ("Apples", "Oranges", "Tomatoes") aparecen en el cuadro de lista.
  4. Haga clic en Button1. Observe que la propiedad DataSource de ListBox1 se establece en Nothing, pero los elementos se mantienen visibles y siguen mostrándose en ListBox1.Items.
  5. Elimine las marcas de comentario de las últimas cinco líneas del método ListBox1_DataSourceChanged y vuelva a ejecutar el proyecto.
  6. Haga clic en Button1. Observe que el cuadro de lista y la colección Items se han borrado.
Volver al principio

Referencias

Para obtener información adicional, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
313482 INFO: Guía básica del enlace de datos de Windows Forms
Para obtener información adicional, visite el siguiente sitio Web de Microsoft Developer Network (MSDN): Data Binding with Windows Forms and .NET
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndotnet/html/databindingadonet.asp

Volver al principio

Propiedades

Id. de artículo: 327895 - Última revisión: martes, 26 de diciembre de 2006 - Versión: 3.0
La información de este artículo se refiere a:
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
Palabras clave: 
kbideproject kbide kbdatabinding kbhowtomaster KB327895

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com