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

Resumen

En este artículo paso a paso describe cómo enlazar una matriz de estructuras a un formulario Windows Forms. El ejemplo consta de un formulario Windows Forms con tres cuadros de texto para mostrar los miembros de la estructura y cuatro botones de comando para examinar la matriz.

Requisitos

Los elementos siguientes describen el hardware recomendado, software, infraestructura de red, habilidades, conocimiento y service Pack que necesitan:
  • Microsoft Visual C# .NET o Microsoft Visual C# 2005
  • Una compresión intermedia de conceptos de programación C#

Diseñar la estructura

Una estructura que se enlaza a un formulario debe tener descriptores de acceso de miembro. Los descriptores de acceso de miembro de estructura son casi idénticos a las estructuras de Propiedad SET y GET de propiedad que se encuentran en una clase. La estructura que se utiliza en el ejemplo de este artículo tiene tres miembros (sólo se muestra uno aquí.) Un constructor parametrizado también se ha proporcionado, pero no es un requisito.
public struct 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 estructuras a una matriz


Para crear instancias y agregarlas a la matriz, siga estos pasos:
  1. Declare una variable del tipo de la estructura.
  2. Declare una matriz del tipo de la estructura.
  3. Crear instancias de la estructura 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 miembros de una estructura a controles Form

Después de rellenar la lista de matrices , 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 el miembro de la estructura.
textBox1.DataBindings.Add("Text", arr, "Make");textBox2.DataBindings.Add("Text", arr, "Model");
textBox3.DataBindings.Add("Text", arr, "Year");


Proporciona un medio para examinar la matriz

Puede utilizar un CurrencyManager para examinar la matriz. Para ello, asocie el CurrencyManager BindingContext del formulario (en este caso, la matriz de estructuras).

private CurrencyManager currencyManager = null;
currencyManager = (CurrencyManager)this.BindingContext[arr];

La clase CurrencyManager tiene una propiedad de posición que se puede manipular para recorrer en iteración los miembros de la matriz. Agregando o restando desde el valor actual de Position, puede mostrar a diferentes 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 .NET C# o Visual C# 2005, cree un nuevo proyecto de aplicación para Windows. Se creará Form1 de forma predeterminada.
  2. Agregue tres cuadros de texto a Form1 y organizar los controles horizontalmente.
  3. Agregue cuatro botones a Form1 y organizar los controles horizontalmente.
  4. Cambie la propiedad Text de Button1 a Next.
  5. Cambie la propiedad Text de Button2 al anterior.
  6. Cambie la propiedad Text de Button3 a First.
  7. Cambie la propiedad Text de Button4 a Last.
  8. Agregue el código siguiente a la clase Form1 :
    public struct 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;
    }
    }
    }

    private Guitar[] arr = new Guitar[3];
    private CurrencyManager currencyManager = null;

    Nota: Este ejemplo de código debe cambiarse en Visual Studio 2005. De forma predeterminada, Visual C# agrega un formulario al proyecto y llama el formulario Form1 cuando crea un proyecto de formularios Windows Forms. Los dos archivos que lo representan se denominan Form1.cs y Form1.designer.cs. Escriba el código en Form1.cs. El archivo designer.cs es donde el Diseñador de Windows Forms escribe el código que implementa todas las acciones que realizó agregando controles al formulario.

    Para obtener más información acerca de cómo el Diseñador de Windows Forms en Visual C# 2005, visite el siguiente sitio Web de Microsoft:

  9. Agregue el código siguiente al constructor del formulario después de la llamada InitializeComponent (donde el diseñador del código ha insertado el "TODO: agregar código de constructor después de llamar InitializeComponent" comentario):
    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");

  10. Cambiar a la vista del diseñador del formulario.
  11. Haga doble clic en siguiente y agregue el código siguiente al evento button1_Click:
    currencyManager.Position++;
  12. Haga doble clic en anterior y agregue el código siguiente al evento button2_Click:
    currencyManager.Position--;
  13. Haga doble clic en primero y agregue el código siguiente al evento button3_Click:
    currencyManager.Position = 0;
  14. Haga doble clic en último y agregue el código siguiente al evento button4_Click:
    currencyManager.Position = arr.Length - 1;
  15. Genere y ejecute el proyecto.
  16. Haga clic en los botones de comando para mostrar los 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 el Visual Studio .NET ayuda en pantalla.

Propiedades

Id. de artículo: 313335 - Última revisión: 22 ene. 2017 - Revisión: 1

Comentarios