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

Seleccione idioma Seleccione idioma
Id. de artículo: 313635 - 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 se muestra cómo enlazar una matriz 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 matriz.

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 miembros (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()
    {
    }

    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 una matriz

Para crear instancias y agregarlos a la matriz, siga estos pasos:
  1. Declare una matriz.
  2. Crear instancias de la clase y agregarlos a la matriz.
private guitar[] arr=new guitar[3];

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

Enlazar las propiedades de objetos a controles de formularios Windows Forms

Después de la matriz 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 la matriz y la propiedad del objeto.
textBox1.DataBindings.Add("Text", arr, "make");
textBox2.DataBindings.Add("Text", arr, "model");
textBox3.DataBindings.Add("Text", arr, "year");
				

Proporcionar una manera de examinar la matriz

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

currencyManager = (CurrencyManager)this.BindingContext[arr];
				
la clase CurrencyManager tiene una propiedad de posición que puede manipular para recorrer en iteración los miembros de la matriz. Agregando o restando del valor actual de Position , puede mostrar a distintos miembros de la matriz en el formulario.
//Move forward one element.
currencyManager.Position++;
//Move back one element.
currencyManager.Position--;
//Move to the beginning.
currencyManager.Position = 0;
//Move to the end.
currencyManager.Position = arr.Length - 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()
    	{
    	}
    
    	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ó arrastrando y colocando controles desde el cuadro de herramientas. 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 guitar[] arr=new guitar[3];	
    private CurrencyManager currencyManager=null;	
    					
  12. Cambie al diseñador de formularios, haga clic con el botón secundario en el formulario y, a continuación, haga clic en Propiedades .
  13. Haga clic en el icono de eventos y después haga doble clic en el evento Load para agregar a su código de evento Form1_Load .
  14. Agregue el código siguiente al evento Form1_Load :
    arr[0] = new guitar("Gibson", "Les Paul", 1958);
    arr[1] = new guitar("Fender", "Jazz Bass", 1964);
    arr[2] = new guitar("Guild", "Bluesbird", 1971);
    				
    currencyManager = (CurrencyManager)this.BindingContext[arr];
    	
    textBox1.DataBindings.Add("Text", arr, "make");
    textBox2.DataBindings.Add("Text", arr, "model");
    textBox3.DataBindings.Add("Text", arr, "year");
    					
  15. Modificador para ver el Diseñador de formularios.
  16. Haga doble clic en siguiente y agregue el código siguiente al evento Button1_Click :
    currencyManager.Position++;
    					
  17. Haga doble clic en anterior y agregue el código siguiente al evento Button2_Click :
    currencyManager.Position--;
    					
  18. Haga doble clic en primera y agregue el código siguiente al evento Button3_Click :
    currencyManager.Position = 0;
    					
  19. Haga doble clic en anterior y agregue el siguiente código al evento button4_Click :
    currencyManager.Position = arr.Length - 1;
    					
  20. Genere y ejecute el proyecto.
  21. 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: 313635 - Ú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# 2005 Express Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
Palabras clave: 
kbmt kbhowtomaster KB313635 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): 313635

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