viernes, 4 de octubre de 2013

30 Interfaces visuales (Windows Forms)

Hasta ahora hemos resuelto todos los algoritmos haciendo las salidas a través de una consola en modo texto. La realidad que es muy común la necesidad de hacer la entrada y salida de datos mediante una interfaz más amigable con el usuario.

En C# existen varias librerías de clase para implementar interfaces visuales. Utilizaremos las ventanas.
Para crear una aplicación que utilice esta librería debemos crear un proyecto. Los pasos son los siguientes:

  1. Desde el menú de opciones del .Net seleccionamos la opción: Archivo -> Nuevo proyecto...
  2. Seleccionamos la plantilla "Aplicación de Windows Forms".Proyecto Windows Forms
  3. Ahora ya tenemos un esqueleto para desarrollar nuestra aplicación. Si vemos la ventana del "Explorador de soluciones tenemos tres archivos generados en : Program.cs, Form1.cs y Form1.Designer.cs:
  4. Proyecto Windows Forms
  5. En la tenemos el Form listo para disponer controles con el mouse.
  6. Ahora podemos seleccionar un control visual de la ventana "Cuadro de herramientas" (seleccionemos el control Button) y seguidamente presionemos el botón izquierdo del mouse dentro del formulario que se encuentra en la parte central del Visual Studio .net:
  7. Proyecto Windows Forms
  8. Ahora podemos analizar la ventana "Propiedades" que nos muestra las propiedades del objeto seleccionado del formulario. Podemos por ejemplo si tenemos seleccionado el botón cambiar la propiedad text (la misma cambia la etiqueta que muestra el botón):
    Proyecto Windows Forms
  9. Cuando ejecutamos la aplicación el resultado podemos ver que es muy distinto a la interfaz en modo texto vista hasta el momento:
    Windows Forms
  10. Por último vamos a ver los contenidos de los archivos generados automáticamente por el Visual Studio .Net.

    Program.ch

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Windows.Forms;
    
    namespace WindowsFormsApplication1
    {
        static 
        {
            /// 
            /// Punto de entrada principal para la aplicación.
            /// 
            [STAThread]
            static void Main()
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new Form1());
            }
        }
    }
    

    Form1.ch

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    
    namespace WindowsFormsApplication1
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
        }
    }
    

    Form1.Designer.ch

    namespace WindowsFormsApplication1
    {
        partial class Form1
        {
            /// 
            /// Variable del diseñador requerida.
            /// 
            private System.ComponentModel.IContainer components = null;
    
            /// 
            /// Limpiar los recursos que se estén utilizando.
            /// 
            /// true si los recursos administrados se deben eliminar; false en caso contrario, false.
            protected override void Dispose(bool disposing)
            {
                if (disposing && (components != null))
                {
                    components.Dispose();
                }
                base.Dispose(disposing);
            }
    
            #region Código generado por el Diseñador de Windows Forms
    
            /// 
            /// Método necesario para admitir el Diseñador. No se puede modificar
            /// el contenido del método con el .
            /// 
            private void InitializeComponent()
            {
                this.button1 = new System.Windows.Forms.Button();
                this.SuspendLayout();
                // 
                // button1
                // 
                this.button1.Location = new System.Drawing.Point(190, 223);
                this.button1.Name = "button1";
                this.button1.Size = new System.Drawing.Size(75, 23);
                this.button1.TabIndex = 0;
                this.button1.Text = "Hola Mundo";
                this.button1.UseVisualStyleBackColor = true;
                // 
                // Form1
                // 
                this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
                this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
                this.ClientSize = new System.Drawing.Size(292, 273);
                this.Controls.Add(this.button1);
                this.Name = "Form1";
                this.Text = "Form1";
                this.ResumeLayout(false);
    
            }
    
            #endregion
    
            private System.Windows.Forms.Button button1;
        }
    }
    

No hay comentarios:

Publicar un comentario