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

Seleccione idioma Seleccione idioma
Id. de artículo: 313639 - 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.
Expandir todo | Contraer todo

En esta página

Resumen

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

Requisitos

En la lista siguiente se describen el hardware, el software, la infraestructura de red, las capacidades, el conocimiento y los Service Pack que se necesitan:
  • Microsoft Visual Basic .NET o Microsoft Visual Basic 2005
  • Intermedio de comprensión de los conceptos de programación de Visual Basic

Descripción de 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 una matriz

El siguiente paso es crear los objetos y agregarlos a la clase Array :
Dim al(2) As guitar

al(0)  = new guitar("Gibson", "Les Paul", 1958)
al(1)  = new guitar("Fender", "Jazz Bass", 1964)
al(2)  = new guitar("Guild", "Bluesbird", 1971)
				

Enlazar las propiedades de objetos a controles de formulario

Una vez que la matriz 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, debe pasar la propiedad de control que se va a enlazar, el nombre de la matriz y la propiedad del objeto.
textBox1.DataBindings.Add("Text", al, "make")
textBox2.DataBindings.Add("Text", al, "model")
textBox3.DataBindings.Add("Text", al, "year")
				

Proporcionar una manera para buscar a través de la matriz

En el paso final de este proceso, se utiliza una clase CurrencyManager para examinar la matriz . Para ello, asocie el CurrencyManager BindingContext del formulario (en este caso, la matriz ).
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 la matriz . Agregando a o restando del valor actual de Position , puede mostrar a distintos miembros de la matriz 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.Length - 1
				

Ejemplo paso a paso

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

    Nota El código debe cambiarse en Visual Basic 2005. Si crea un nuevo formulario denominado Form1 en Visual Basic 2005, tiene un archivo Form1.vb para el código y un archivo Form1.Designer.vb que contiene la sección generada automáticamente. Los formularios Windows Forms Designer utiliza la palabra clave partial para dividir la implementación de Form1 en dos archivos independientes. Esto impide que el código emitido por diseñador están intercalados con el código.

    Para obtener más información acerca de las nuevas mejoras del lenguaje Visual Basic 2005, visite el siguiente sitio Web de Microsoft:
    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:
    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(2) As guitar
    Private cMan As CurrencyManager
    					
  8. Agregue el código siguiente al evento Form_Load :
    al(0)  = new guitar("Gibson", "Les Paul", 1958)
    al(1)  = new guitar("Fender", "Jazz Bass", 1964)
    al(2)  = 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.Length - 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.

Referencias

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

Propiedades

Id. de artículo: 313639 - Última revisión: miércoles, 26 de febrero de 2014 - Versión: 2.7
La información de este artículo se refiere a:
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic 2005
Palabras clave: 
kbnosurvey kbarchive kbmt kbvs2005swept kbvs2005applies kbhowtomaster KB313639 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): 313639

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