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

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.

313640
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.
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 PropertyEnd 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 CurrencyManagercMan = 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): 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:
  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 PropertyEnd 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:
    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 += 1End SubPrivate Sub Button2_Click(ByVal sender As System.Object, _ByVal e As System.EventArgs) Handles Button2.Click        cMan.Position -= 1End SubPrivate Sub Button3_Click(ByVal sender As System.Object, _ByVal e As System.EventArgs) Handles Button3.Click        cMan.Position = 0End SubPrivate Sub Button4_Click(ByVal sender As System.Object, _ByVal e As System.EventArgs) Handles Button4.Click        cMan.Position = al.Count - 1End 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.

Advertencia: este artículo se ha traducido automáticamente

Propiedades

Id. de artículo: 313640 - Última revisión: 02/24/2014 20:25:14 - Revisión: 4.5

  • Microsoft Visual Basic 2005
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • kbnosurvey kbarchive kbmt kbvs2005swept kbvs2005applies kbhowtomaster KB313640 KbMtes
Comentarios