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

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): 313638
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Resumen
En este artículo paso a paso muestra cómo enlazar una ArrayList de estructuras a un formulario Windows Forms. El ejemplo incluye un formulario Windows Forms con tres cuadros de texto para mostrar los miembros de estructura y cuatro botones de comando para desplazarse por la ArrayList .

Requisitos

Microsoft Visual Basic .NET o Microsoft Visual Basic 2005

back to the top

Descripción del código

Esta sección describen los conceptos de codificación importantes que son necesarios para completar esta tarea.

Diseñar la estructura

Una estructura que van a enlazarse a un formulario debe tener descriptores de acceso de miembro. Descriptores de acceso de miembro de estructura son prácticamente los mismos que el Conjunto de propiedades / obtener estructura que se encuentra en una clase. La estructura que se utiliza para el ejemplo de este artículo tiene tres miembros (sólo se muestra). Un constructor con parámetros también se proporciona pero no es necesario.
Private Structure guitar    Friend mmake As String    Friend mmodel As String    Friend myear As Short    Public Sub New(ByVal make, ByVal model, ByVal year)        Me.mmake = make        Me.mmodel = model        Me.myear = year    End Sub    Public Property make() As String        Get            make = mmake        End Get        Set(ByVal Value As String)            mmake = Value        End Set    End PropertyEnd Structure				

back to the top

Agregar instancias de estructuras a un objeto ArrayList

T crear instancias y agregarlas a ArrayList , siga estos pasos:
  1. Declare una variable del tipo de la estructura.
  2. Declarar una ArrayList .
  3. Crear instancias de la estructura y, a continuación, agregarlos a ArrayList .
Private myStruct As guitarDim al As New ArrayList()myStruct = New guitar("Gibson", "Les Paul", 1958)al.Add(myStruct) myStruct = New guitar("Fender", "Jazz Bass", 1964)al.Add(myStruct)myStruct = New guitar("Guild", "Bluesbird", 1971)al.Add(myStruct)				

back to the top

Enlazar a miembros de una estructura a controles de formulario

Una vez que la ArrayList se ha llenado, puede enlazar a los miembros individuales de la estructura a controles de formularios Windows Forms. Para ello, debe llamar al método Add de la propiedad Textbox DataBindings y pasar la propiedad que se va a enlazar, el nombre de ArrayList y miembro de la estructura.
TextBox1.DataBindings.Add("Text", al, "make")TextBox2.DataBindings.Add("Text", al, "model")TextBox3.DataBindings.Add("Text", al, "year")				

back to the top

Proporcionar una forma retrocede ArrayList

El paso final en el proceso es proporcionar una forma para desplazarse por la ArrayList . Para ello, debe utilizar un CurrencyManager . Asociar el CurrencyManager BindingContext , en este caso, la ArrayList de estructuras del formulario.
Private cMan As CurrencyManagercMan = CType(Me.BindingContext(al), CurrencyManager)				
el objeto CurrencyManager tiene una propiedad de posición que puede manipularse para recorrer en iteración los miembros de ArrayList . Agregando o restando del valor actual de Position , puede mostrar a miembros diferentes de ArrayList en el formulario.
'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				

back to the top

Ejemplo paso a paso

  1. Abra un nuevo proyecto de aplicación para Windows en Visual Basic .NET o en Visual Basic 2005.
  2. Agregue tres cuadros de texto a Form1 y, a continuación, organizar los controles horizontalmente.
  3. Agregue cuatro botones de comando a Form1 y, a continuación, organizar los controles horizontalmente.
  4. Cambie la propiedad Text de Button1 a siguiente .
  5. Cambiar la propiedad Text de Button2 a anterior .
  6. Cambie la propiedad Text de Button3 a primero .
  7. Cambie la propiedad Text de Button4 a último .
  8. Agregue el código siguiente a la sección de declaración de Form1:
    Private Structure guitar    Friend mmake As String    Friend mmodel As String    Friend myear As Short    Public Sub New(ByVal make, ByVal model, ByVal year)        Me.mmake = make        Me.mmodel = model        Me.myear = year    End Sub    Public Property make() As String        Get            make = mmake        End Get        Set(ByVal Value As String)            mmake = Value        End Set    End Property    Public Property model() As String        Get            model = mmodel        End Get        Set(ByVal Value As String)            mmodel = Value        End Set    End Property    Public Property year() As Short        Get            year = myear        End Get        Set(ByVal Value As Short)        myear = Value        End Set    End PropertyEnd StructurePrivate myStruct As guitarPrivate al As New ArrayList()Private cMan As CurrencyManager					
  9. Agregue el código siguiente al evento Form_Load :
    myStruct = New guitar("Gibson", "Les Paul", 1958)al.Add(myStruct)myStruct = New guitar("Fender", "Jazz Bass", 1964)al.Add(myStruct)myStruct = New guitar("Guild", "Bluesbird", 1971)al.Add(myStruct)cMan = CType(Me.BindingContext(al), CurrencyManager)TextBox1.DataBindings.Add("Text", al, "make")TextBox2.DataBindings.Add("Text", al, "model")TextBox3.DataBindings.Add("Text", al, "year")					
  10. Agregue el código siguiente después del evento Form_Load :
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles Button1.Click        cMan.Position += 1End SubPrivate Sub Button2_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles Button2.Click        cMan.Position -= 1End SubPrivate Sub Button3_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles Button3.Click        cMan.Position = 0End SubPrivate Sub Button4_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles Button4.Click        cMan.Position = al.Count - 1End Sub					
  11. Genere y ejecute el proyecto.
  12. Haga clic en los botones para mostrar distintos elementos de ArrayList . Tenga en cuenta que puede modificar los valores de los objetos.
back to the top

Uso de una colección

Puede utilizar un objeto de colección para almacenar las estructuras. Para probar el uso de una colección , busque la siguiente línea de código en el procedimiento de evento Form_Load :
Private al As New ArrayList()
reemplazar la línea de código anterior con el código siguiente y vuelva a en el ejemplo:
Private al As New Collection()

back to the top

REFERENCIAS

Consulte el tema siguiente en la documentación de Visual Studio .NET o la Ayuda en pantalla de Visual Studio. 2005:
Consumidores de datos en formularios Windows Forms
back to the top

Advertencia: este artículo se tradujo automáticamente

Propiedades

Id. de artículo: 313638 - Última revisión: 02/24/2014 15:39:30 - Revisión: 3.3

Microsoft Visual Basic .NET 2002 Standard Edition, Microsoft Visual Basic .NET 2003 Standard Edition, Microsoft Visual Basic 2005

  • kbnosurvey kbarchive kbmt kbvs2005swept kbvs2005applies kbhowtomaster KB313638 KbMtes
Comentarios