Cómo enlazar una ArrayList o una colección de objetos a un formulario Windows Forms utilizando Visual Basic 2005 o Visual Basic .NET

Seleccione idioma Seleccione idioma
Id. de artículo: 313640 - Ver los productos a los que se aplica este artículo
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Para obtener una versión de Microsoft Visual C# .NET de este artículo, consulte 313634.
Expandir todo | Contraer todo

En esta página

Resumen

En este artículo paso a paso describe cómo enlazar una ArrayList de objetos a un formulario de Microsoft Windows en Microsoft Visual Basic 2005 o en Microsoft Visual Baisc. NET. El ejemplo en este artículo incluye un formulario de Windows Forms con tres cuadros de texto para mostrar las propiedades del objeto. El ejemplo también incluye cuatro botones de comando para examinar la ArrayList .

Requisitos

En la lista siguiente se describe el hardware, el software, la infraestructura de red y los service pack recomendados que se necesitarán:
  • Visual Basic 2005 o Visual Basic .NET
Este artículo se supone que tiene un conocimiento de conceptos de programación de Visual Basic intermedio.

Descripción del código

Esta sección resalta los conceptos de codificación que son necesarios para realizar esta tarea.

Diseñar la clase

Una clase que se enlazará a un formulario debe tener descriptores de acceso. Cualquier propiedad que se va a enlazar debe tener el Conjunto de propiedades y los métodos Property Get . La clase que se utiliza para el ejemplo de este artículo tiene tres propiedades (sólo se muestra en esta sección). El ejemplo en este artículo también incluye un constructor parametrizado, aunque no es necesario.
Public Class guitar
    Private m_make As String
    Private m_model As String
    Private m_year As Short

    Public Sub New(ByVal make, ByRef model, ByVal year)
        Me.make = make
        Me.model = model
        Me.year = year
    End Sub
    Public Property make() As String
        Get
            Return m_make
        End Get
        Set(ByVal Value As String)
            m_make = Value
        End Set
    End Property
End Class
				

Agregar instancias de clase a un objeto ArrayList

El siguiente paso es crear objetos y agregarlos a la clase ArrayList :
Private al As New ArrayList()

al.Add(New guitar("Gibson", "Les Paul", 1958))
al.Add(New guitar("Fender", "Jazz Bass", 1964))
al.Add(New Guitar("Guild", "Bluesbird", 1971))
				

Enlazar las propiedades del objeto a controles de formulario

Una vez que la ArrayList se ha llenado, puede enlazar las propiedades individuales del objeto a controles de formularios Windows Forms. Para ello, llame al método Add de la propiedad DataBindings del control TextBox . Además, pasar la propiedad de control que se va a enlazar, el nombre de ArrayList y la propiedad del objeto.
TextBox1.DataBindings.Add("Text", al, "Make")
TextBox2.DataBindings.Add("Text", al, "Model")
TextBox3.DataBindings.Add("Text", al, "Year")
				

Proporcionar un medio para examinar la ArrayList

En el paso final de este proceso, se utiliza una clase CurrencyManager para examinar la ArrayList . Para ello, asocie el CurrencyManager BindingContext del formulario (en este caso, la ArrayList ).
Private cMan As CurrencyManager

cMan = CType(Me.BindingContext(al), CurrencyManager)
				
la clase CurrencyManager tiene una propiedad de posición que puede manipular para recorrer en iteración los miembros de ArrayList . Agregando a o restando del valor actual de Position , puede mostrar a miembros diferentes de ArrayList en el formulario. Por ejemplo:
'Move forward one element.
 cMan.Position += 1
'Move back one element.
cMan.Position -= 1
'Move to the beginning.
cMan.Position = 0
'Move to the end.
cMan.Position = al.Count - 1
				

Ejemplo paso a paso

  1. Crear un nuevo proyecto de aplicación para Windows en Visual Basic 2005 o en Visual Basic.NET. Form1 se agrega al proyecto de manera predeterminada.

    Nota Debe cambiar el código en Visual Basic 2005. De forma predeterminada, Visual Basic crea dos archivos para el proyecto cuando se crea un Windows Forms proyecto. Si el formulario se denomina Form1, los dos archivos que representan el formulario se denominan Form1.vb y Form1.Designer.vb. Escribir el código en el archivo Form1.vb. El Diseñador de Windows Forms escribe el código en el archivo Form1.Designer.vb. Los formularios Windows Forms Designer utiliza la palabra clave partial para dividir la implementación de Form1 en dos archivos independientes. Este comportamiento evita que el código generado por diseñador se mezcle suyo con su código.

    Para obtener más información acerca de las nuevas mejoras del lenguaje Visual Basic 2005, visite Microsoft Developer Network siguiente sitio Web (MSDN):
    http://msdn2.microsoft.com/en-us/library/ms379584(vs.80).aspx
    Para obtener más información acerca de las clases parciales y el Diseñador de Windows Forms, visite el siguiente sitio Web de MSDN:
    http://msdn2.microsoft.com/en-us/library/ms171843.aspx
  2. Agregar una clase al proyecto.
  3. Reemplace el código en Class1.vb con el siguiente código:
    Public Class guitar
        Private m_make As String
        Private m_model As String
        Private m_year As Short
    
        Public Sub New(ByVal make, ByRef model, ByVal year)
            Me.make = make
            Me.model = model
            Me.year = year
        End Sub
        Public Property make() As String
            Get
                Return m_make
            End Get
            Set(ByVal Value As String)
                m_make = Value
            End Set
        End Property
        Public Property model() As String
            Get
                Return m_model
            End Get
            Set(ByVal Value As String)
                m_model = Value
            End Set
        End Property
        Public Property year() As Short
            Get
                Return m_year
            End Get
            Set(ByVal Value As Short)
                m_year = Value
            End Set
        End Property
    End Class
    					
  4. Agregue tres controles TextBox a Form1 y, a continuación, organizar los controles horizontalmente.
  5. Agregue cuatro controles Button a Form1 y, a continuación, organizar los controles horizontalmente.
  6. Cambie la propiedad Text de botones de las manera siguiente:
    Contraer esta tablaAmpliar esta tabla
    BotónTexto
    Button1Siguiente
    Button2Anterior
    Button3Primera
    Button4Último
  7. Agregue el código siguiente a la sección de declaración de Form1:
    Private al As New ArrayList()
    Private cMan As CurrencyManager
    					
  8. Agregue el código siguiente al evento Form_Load :
    al.Add(New guitar("Gibson", "Les Paul", 1958))
    al.Add(New guitar("Fender", "Jazz Bass", 1964))
    al.Add(New Guitar("Guild", "Bluesbird", 1971))
    
    cMan = CType(Me.BindingContext(al), CurrencyManager)
    
    TextBox1.DataBindings.Add("Text", al, "make")
    TextBox2.DataBindings.Add("Text", al, "model")
    TextBox3.DataBindings.Add("Text", al, "year")
    					
  9. Agregue el código siguiente después del evento Form_Load :
    Private Sub Button1_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles Button1.Click
            cMan.Position += 1
    End Sub
    
    Private Sub Button2_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles Button2.Click
            cMan.Position -= 1
    End Sub
    
    Private Sub Button3_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles Button3.Click
            cMan.Position = 0
    End Sub
    
    Private Sub Button4_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles Button4.Click
            cMan.Position = al.Count - 1
    End Sub
    					
  10. Genere y ejecute el proyecto.
  11. Haga clic en los botones para mostrar diferentes elementos de la matriz. Tenga en cuenta que puede modificar los valores de los objetos.

Utilizar un objeto de colección

También puede utilizar un objeto de colección para almacenar las estructuras. Para probar el uso de un objeto Collection , siga estos pasos:
  1. Busque el código siguiente en el procedimiento de evento Form_Load :
    Private al As New ArrayList()
    					
  2. Reemplace el código anterior con el siguiente código:
    Private al As New Collection()
    					
  3. Guardar los cambios al proyecto y vuelva a ejecutar el proyecto.

Referencias

Para obtener más información, vea el tema "Consumidores de datos en formularios Windows Forms" en la documentación de Visual Studio 2005 o la Ayuda en pantalla de Visual Studio. NET.

Propiedades

Id. de artículo: 313640 - Última revisión: lunes, 24 de febrero de 2014 - Versión: 4.5
La información de este artículo se refiere a:
  • Microsoft Visual Basic 2005
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
Palabras clave: 
kbnosurvey kbarchive kbmt kbvs2005swept kbvs2005applies kbhowtomaster KB313640 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 313640

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