Desarrollo de Aplicaciones con Windows Forms y Arquitectura de Tres Capas

ToolStrip de Control

La franja de herramientas le permite crear una barra de herramientas con el estilo visual profesional y consistente de Microsoft Office. Los controles ToolStrip son contenedores para ToolStripItems.

Una franja de herramientas contiene los siguientes elementos:

  • ToolStripButton: Botón que puede contener texto o imagen.
  • ToolStripLabel: Muestra texto de etiqueta, imágenes e hipervínculos.
  • ToolStripSplitButton: Representa una combinación de botones estándar, una especie de menú.
  • ToolStripDropDownButton: Representa un cuadro de lista donde el usuario puede seleccionar un solo elemento.
  • ToolStripSeparator: Separador de línea, permite separar grupos.
  • ToolStripComboBox: Caja combinada.
  • ToolStripTextBox: Cuadro de texto que le permite mostrar y recibir datos del usuario.
  • ToolStripProgressBar: Barra de progreso, diseñada para proporcionar información al usuario.

MenuStrip Control

Le permite configurar controles personalizados que pueden ser ejecutados por los usuarios. Los menús proporcionan al usuario un acceso fácil y rápido a la aplicación. El control MenuStrip se deriva de ToolStrip y puede contener todos los artículos del ToolStrip. El objetivo principal del contenedor MenuStrip son los ToolStripMenuItems. Los ToolStripMenuItems son los controles que proporcionan una representación visual de los elementos de menú. ToolStripMenuItems puede aparecer como texto, imagen, o ambas cosas.

StatusStrip Control

Comúnmente conocida como la barra de estado, se utiliza para mostrar información acerca de los objetos en el formulario y dar cuenta de procesos de feedback que se están produciendo en el formulario. StatusStrip es un contenedor que puede contener otros controles. En ella se pueden añadir StatusLabel, ProgressBar, y SplitButton/DropDownButton.

Para agregar StatusStrip en el formulario:

  1. Seleccione el formulario en el diseñador, vaya a la caja de herramientas (Ver > Toolbox).
  2. En la ficha Todos los formularios de Windows Forms, haga doble clic en el control StatusStrip.
  3. Observe que el control se añadió en la parte inferior del formulario.
  4. Para cambiar las propiedades del control, haga clic en el botón derecho sobre el control y seleccione Propiedades.
  5. Para cambiar la posición del control, utilice la propiedad Dock.

Windows Forms

Los formularios Windows son la base para muchas aplicaciones de Microsoft Windows y se pueden configurar para proporcionar una variedad de opciones para la interfaz de usuario (UI). El desarrollador puede crear formularios de varios tamaños y formatos y personalizarlos de acuerdo a las necesidades del usuario.

Windows Forms proporciona un contenedor que aloja los controles y permite al desarrollador presentar solicitudes en un usuario familiar y consistente.

Los formularios pueden recibir los datos de entrada del usuario y mostrar los datos al usuario mediante los controles.

La mayoría de los proyectos requieren más de un formulario. Puede agregar y configurar el diseñador de formularios a tiempo de diseño, o usted puede crear instancias de las formas a través de código en tiempo de ejecución.

Para agregar un nuevo formulario:

  1. Con la aplicación de Windows Forms seleccionada, vaya en el menú Proyecto, haga clic en Agregar nuevo elemento….
  2. Se abre la ventana Agregar nuevo elemento….
  3. En la ventana Categorías, haga clic en el tema de Windows Forms.
  4. En la ventana Plantillas seleccione el elemento de formulario Windows Forms.
  5. En la parte inferior de la ventana, cambie la propiedad Nombre con el nombre del formulario Windows Forms.
  6. Haga clic en el botón Agregar.

Propiedades de Formulario Windows

La apariencia de la interfaz de usuario es una parte importante de la aplicación. Una mala interfaz se convierte en un problema para el usuario. La apariencia de la interfaz de usuario se pueden modificar mediante las propiedades del formulario Windows Forms.

Un formulario Windows contiene una variedad de propiedades que le permite personalizar el aspecto del formulario. Estas propiedades se pueden cambiar en la ventana Propiedades (menú Ver / Ventana de propiedades).

Vea a continuación algunas propiedades del formulario:

  • Name: Propiedad utilizada como referencia en el código.
  • Text: El título del formulario.
  • FormBorderStyle: Determina la forma en que se recibe el borde del formulario, y también define cómo se comporta el formulario en tiempo de ejecución.
  • WindowState: Define en qué estado (normal, minimizado o maximizado) el formulario aparece la primera vez.
  • IsMdiContainer: Determina si el formulario es un contenedor MDI.
  • StartPosition: Determina la posición (por ejemplo, la centralización) del formulario cuando se muestra.

¿Qué es un formulario MDI?

MDI (Multiple Document Interface) es una interfaz de programación para crear una aplicación de Microsoft Windows que permite a los usuarios trabajar con múltiples documentos a la vez. Cuando un formulario tiene la propiedad IsMdiContainer marcada como verdadera, esto significa que el formulario es el contenedor (padre) para sus formularios hijos, es decir, las formas que se crean con un formulario como padre, se mostrarán dentro del cuerpo de este formulario.

Formulario de Inicio

El formulario de inicio es el formulario que se inicializa cuando se ejecuta la aplicación Windows Forms.

Para establecer el formulario de inicio:

  1. Localice el archivo Program.cs en la aplicación de formularios Windows y haga doble clic para ver el código.
  2. Localice el método Main, a continuación, busque la línea: Application.Run(new Form1()); donde Form1 es el nombre del formulario que se inicializa cuando se ejecuta la aplicación.
  3. Cambie Form1 por el nombre del formulario que desea que se inicialice cuando se ejecuta la aplicación.

Visualización del Formulario Windows

Hay dos formas de mostrar un formulario: mediante los métodos Show y ShowDialog.

  • Show: El usuario puede seguir trabajando en cualquier aplicación mientras se muestra el formulario.
  • ShowDialog: El usuario no puede continuar trabajando con el resto de la aplicación hasta que se cierre u oculte el formulario.

Aplicaciones de Windows Forms

Las aplicaciones de Windows Forms son aplicaciones que se ejecutan localmente en el ordenador del usuario. El desarrollador puede utilizar Visual Studio 2008 para crear aplicaciones de interfaz de usuario usando formularios Windows Forms.

Creación de una aplicación de Windows Forms

Para crear una nueva aplicación de Windows Forms:

  1. Con la solución (Solution) seleccionada, vaya al menú Archivo, haga clic en Nuevo y, a continuación seleccione Proyecto.
  2. Aparecerá la ventana Nuevo proyecto.
  3. En la ventana Tipos de proyecto, haga clic en el elemento de Visual C#.
  4. En la ventana Plantillas seleccione el elemento de aplicaciones de Windows Forms.
  5. En la parte inferior de la ventana, cambie la propiedad Nombre con el nombre de la aplicación de Windows Forms y también cambie la propiedad Ubicación indicando la ubicación donde se guardará la aplicación de Windows Forms.
  6. Haga clic en el botón Aceptar.

Excepciones

Las excepciones son eventos inesperados que interrumpen el programa. Por ejemplo, si una aplicación espera que el usuario introduzca un valor numérico en un campo determinado, y en su lugar el usuario escribe una letra, al intentar guardar el valor en la base de datos, se genera una excepción porque se esperaba un número y el usuario escribió una letra.

Para controlar las excepciones en C#, se utiliza la instrucción try-catch. La instrucción try-catch consiste en utilizar un bloque try, seguida de una o más cláusulas catch. En el bloque try se encuentra el código del programa que puede generar la excepción, por ejemplo, el código que intenta guardar el valor en la base de datos. Si se produce una excepción, el programa sale del bloque try y se dirige a las cláusulas catch. Las cláusulas catch son las que capturan y gestionan las excepciones.

En el siguiente ejemplo, se muestra una función que espera un número como entrada. Si el usuario introduce algo que no sea un número, se lanza una excepción y se gestiona en el bloque catch. En el bloque try, el valor se convierte a un entero. Si el valor no es un número válido y se genera un error, la función devuelve cero.

public int ObtenerNumero()
{
  try
  {
    return int.Parse(Console.ReadLine());
  }
  catch (FormatException)
  {
    return 0;
  }
}

Controles Contenedores

Los controles contenedores son controles que sirven como contenedores para otros controles. Permiten la creación de subdivisiones y la agrupación de controles en el formulario, lo que facilita la organización y el diseño de la interfaz de usuario.

Cuando un contenedor contiene otros controles, los cambios en las propiedades del contenedor también pueden afectar a los controles que contiene. Por ejemplo, si un formulario tiene un contenedor Panel que contiene varios controles y la propiedad Enabled del Panel se cambia a false, todos los controles contenidos en el Panel se deshabilitarán.

La caja de herramientas (toolbox) ofrece una colección de objetos que te permite dibujar y editar interfaces a través del mecanismo de arrastrar y soltar.

Entre los contenedores se encuentran los siguientes:

  • GroupBox: Es un contenedor que tiene un borde y un título, y que se muestra como una subdivisión del formulario. A diferencia del Panel, GroupBox no tiene barra de desplazamiento.
  • Panel: Crea una subsección del formulario que puede albergar otros controles. El Panel puede ser indistinguible del resto del formulario en el que está contenido.
  • TabControl: Permite agrupar un conjunto de controles en pestañas.

Soluciones de Visual Studio .NET

Las soluciones (Solutions) se utilizan para agrupar proyectos relacionados. La solución también contiene información sobre las dependencias entre los proyectos que se utilizan en el proceso de construcción (build).

Capas de Desarrollo

Una aplicación desarrollada utilizando el concepto de desarrollo en capas, es una aplicación diseñada para tener varias capas lógicas. Un objetivo importante del desarrollo en capas es separar la parte que se muestra al usuario (presentación), la parte de los cálculos y validaciones (reglas de negocio), y la parte de acceso a los datos.

Las Tres Capas

  • Capa de Presentación:
    • Interacción entre el usuario y el software.
    • Muestra la información al usuario.
    • Recibe los datos del usuario.
  • Capa de Negocio:
    • Cálculos basados en los datos introducidos.
    • Validación de la información.
    • Determina qué fuente de datos se debe utilizar.
  • Capa de Datos:
    • Interacción con las fuentes de datos.
    • Procedimientos almacenados.
    • Almacenamiento de datos.

Beneficios de Utilizar Tres Capas

  • Organización: El código está más organizado.
  • Instalación: Facilita el desarrollo de aplicaciones.
  • Reutilización: Evita la duplicación de código.
  • Flexibilidad: Varias capas de aplicaciones (web y de escritorio) pueden utilizar la misma capa de negocio.

Descripción de las Tres Capas

Capa de Presentación

Es en esta capa donde se ejecutan las aplicaciones que permiten la interacción entre el usuario y el software. Estas aplicaciones pueden ser un sitio web, una aplicación de escritorio o una aplicación de consola.

Capa de Negocio

Es en esta capa donde se ejecutan los proyectos de negocio y de transferencia de objetos.

  • Negocio: Es el proyecto en el que se implementan los métodos de consulta, inserción, modificación, eliminación y otros métodos relacionados con la lógica del negocio.
  • Transferencia de objetos: Es el proyecto que se encarga de la transferencia de objetos entre la capa de presentación y la capa de negocio.

Capa de Datos

Es en esta capa donde se implementan los proyectos de acceso a datos. El diseño de acceso a datos es responsable de la interacción con el origen de datos. Es aquí donde se realizan las operaciones de lectura y escritura en la base de datos.

API

API (Application Programming Interface) es un conjunto de rutinas y normas establecidas por un software para que otros programas puedan utilizar sus funciones.

.NET Framework

.NET Framework es una plataforma de desarrollo e implementación de sistemas y aplicaciones. Desde el punto de vista de los programadores, .NET Framework es como un sistema operativo. Es a través de .NET Framework que se invocan todas las funciones necesarias para que los programas funcionen en cualquier sistema operativo.