Cómo enlazar una arrayList de objetos a un formulario Windows Forms mediante C#

Seleccione idioma Seleccione idioma
Id. de artículo: 313634 - Ver los productos a los que se aplica este artículo
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 Windows Forms. El ejemplo consta de un formulario Windows Forms con tres cuadros de texto para mostrar las propiedades del objeto y cuatro botones de comando para examinar la ArrayList .

Requisitos

Los elementos siguientes describen el hardware, el software, la infraestructura de red, las capacidades, el conocimiento y los service pack que se necesitan:
  • Microsoft Visual C# .NET o Microsoft Visual C# 2005
  • Intermedio comprender los conceptos de programación de C#

Diseñar la clase

Una clase que se puede enlazar a un formulario debe tener descriptores de acceso. Cualquier propiedad que van a enlazarse debe tener métodos Property Set y Get de propiedad . La clase que se utiliza para el ejemplo de este artículo tiene tres propiedades (sólo se muestra aquí). Un constructor parametrizado también se ha proporcionado, pero no es un requisito.
public class Guitar
{
    private string make;
    private string model;
    private short year;
			
    public Guitar(string Make, string Model, short Year)
    {
	make = Make;
	model = Model;
	year = Year;
    }

    public string Make 
    {
        get 
	{ 
	    return make; 
	}
	set 
	{
	    make = value; 
	}
    }
}
				

Agregar instancias de clase a un objeto ArrayList

Para crear instancias y agregarlos a ArrayList , siga estos pasos:
  1. Declare una variable del tipo de la clase.
  2. Declarar una ArrayList .
  3. Crear instancias de la clase y agregarlos a ArrayList .
private ArrayList al = 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 de objetos a controles de formulario

Después de que la ArrayList se haya llenado, puede enlazar las propiedades individuales del objeto a controles de formularios Windows Forms. Para ello, siga estos pasos:
  1. Llame al método Add de la propiedad Textbox DataBindings .
  2. Pasar la propiedad de control que se puede 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 una manera de examinar la ArrayList

Puede utilizar un CurrencyManager para examinar la ArrayList . Para ello, asocie el CurrencyManager BindingContext del formulario (en este caso, la ArrayList ).
private CurrencyManager currencyManger = null;

currencyManger = (CurrencyManager)this.BindingContext[al];
				
la clase CurrencyManager tiene una propiedad de posición que puede manipular 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.
currencyManger.Position++;
//Move back one element.
currencyManger.Position--;
//Move to the beginning.
currencyManger.Position = 0;
//Move to the end.
currencyManger.Position = al.Count - 1;
				

Ejemplo paso a paso

  1. En Visual C# .NET o Visual C# 2005, cree un nuevo proyecto de aplicación para Windows. Se creará Form1 de manera predeterminada.
  2. Agregar una clase al proyecto.
  3. Reemplace el código en Form1.cs con lo siguiente:
    public class Guitar
    {
        private string make;
        private string model;
        private short year;
    			
        public Guitar(string Make, string Model, short Year)
        {
    	make=Make;
    	model=Model;
    	year=Year;
        }
    
        public string Make 
        {
            get 
    	{ 
    	    return make; 
    	}
    	set 
    	{
    	    make = value; 
    	}
        }
    	
        public string Model 
        {
    	get 
    	{ 
    	    return model; 
    	}
    	set 
    	{
    	    model = value;  
    	}
        }
    
        public short Year 
        {
    	get 
    	{ 
    	    return year; 
    	}
    	set 
    	{
    	    year = value; 
    	}
        }
    }
    					
    Nota se debe cambiar el código en Visual Studio 2005. Cuando se crea un proyecto de formularios Windows Forms, C# agrega un formulario al proyecto de forma predeterminada. Este formulario se denomina Form1. Los dos archivos que representan el formulario se denominan Form1.cs y Form1.Designer.cs. Escribir el código en Form1.cs. El archivo de Designer.cs es donde el Diseñador de Windows Forms escribe el código que implementa todas las acciones que realizó agregando controles. Para obtener más información acerca el Diseñador de Windows Forms en Visual C# 2005, visite el siguiente sitio Web de Microsoft:
    http://msdn2.microsoft.com/en-us/library/ms173077.aspx
  4. Cierre la ventana de código de Form1.cs y cambie al diseñador de formularios.
  5. Agregue tres cuadros de texto a Form1 y organizar los controles horizontalmente.
  6. Agregue cuatro botones a Form1 y organizar los controles horizontalmente.
  7. Cambie la propiedad Text de Button1 a siguiente .
  8. Cambie la propiedad Text de Button2 al anterior .
  9. Cambie la propiedad Text de Button3 primero a.
  10. Cambie la propiedad Text de Button4 a último .
  11. Agregue el código siguiente a la clase Form1 :
    private ArrayList al = new ArrayList();	
    private CurrencyManager currencyManger = null;	
    					
  12. Agregue el código siguiente al constructor del formulario después de la llamada InitializeComponent (donde ha insertado el diseñador del código de la "TODO: agregar cualquier código constructor después de la llamada InitializeComponent" comentario):
    al.Add(new Guitar("Gibson", "Les Paul", 1958));
    al.Add(new Guitar("Fender", "Jazz Bass", 1964));
    al.Add(new Guitar("Guild", "Bluesbird", 1971));
    			
    currencyManger = (CurrencyManager)this.BindingContext[al];
    	
    textBox1.DataBindings.Add("Text", al, "Make");
    textBox2.DataBindings.Add("Text", al, "Model");
    textBox3.DataBindings.Add("Text", al, "Year");
    					
  13. Modificador para ver el Diseñador de formularios.
  14. Haga doble clic en siguiente y agregue el código siguiente al evento Button1_Click:
    currencyManger.Position++;
    					
  15. Haga doble clic en anterior y agregue el código siguiente al evento Button2_Click:
    currencyManger.Position--;
    					
  16. Haga doble clic en primera y agregue el código siguiente al evento button3_Click:
    currencyManger.Position = 0;
    					
  17. Haga doble clic en anterior y agregue el siguiente código al evento button4_Click:
    currencyManger.Position = al.Count - 1;
    					
  18. Genere y ejecute el proyecto.
  19. Haga clic en los botones de comando para mostrar elementos de matriz diferente. Tenga en cuenta que puede modificar los valores de los objetos si lo desea.

Referencias

Para obtener más información, vea el tema "Consumidores de datos en formularios Windows Forms" en la Ayuda de Visual Studio .NET en línea.

Propiedades

Id. de artículo: 313634 - Última revisión: lunes, 11 de diciembre de 2006 - Versión: 2.3
La información de este artículo se refiere a:
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Visual C# 2005 Express Edition
Palabras clave: 
kbmt kbctrl kbhowtomaster KB313634 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): 313634

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