Skip to content

Instantly share code, notes, and snippets.

@Fhernd
Created July 2, 2015 21:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Fhernd/513507726aee2a297052 to your computer and use it in GitHub Desktop.
Save Fhernd/513507726aee2a297052 to your computer and use it in GitHub Desktop.
Formulario principal de la aplicación.
// ===++===
//
// OrtizOL - xCSw
//
// Proyecto: Cupi2.NET
//
// ===--===
/*============================================================
//
// Clase(s): Principal.
//
// Propósito: Representar el formulario principal de la
// aplicación.
//
// Original: http://cupi2.uniandes.edu.co/sitio/index.php/cursos/apo1/nivel-3/avion/visualizacion-codigo/interfazavion
//
============================================================*/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using ElAvión.Modelo;
namespace ElAvión.GUI
{
/// <summary>
/// Clase que representa el formulario principal de la aplicación.
/// </summary>
public partial class Principal : Form
{
#region Campos o constantes de sistema
/// <summary>
/// Constante con valor útil para redibujar componentes compuestos.
/// </summary>
private const int WM_SETREDRAW = 11;
#endregion
#region campos
/// <summary>
/// Representa una instancia de la entidad `Avion`.
/// </summary>
private Avion m_avion;
#endregion
#region Componentes de interfaz
/// <summary>
/// Instancia de control personalizado del diagrama de sillas de la avión.
/// </summary>
private ControlAvion ctlAvion;
#endregion
public Principal()
{
// Inicializa los componentes integrales del formulario principal.
InitializeComponent();
// Operaciones de inicialización:
m_avion = new Avion();
// Creación de la instancia del control de avión gráfica (diagrama de sillas):
ctlAvion = new ControlAvion(m_avion);
ctlAvion.Location = new Point(2, 13);
ctlAvion.Size = new Size(597, 475);
this.Controls.Add(ctlAvion);
}
#region Métodos:
/// <summary>
/// Envío de mensaje para suspender redibujar efectivamente la interfaz de sillas del avión.
/// </summary>
/// <param name="hWnd">Puntero</param>
/// <param name="wMsg">Valor constante</param>
/// <param name="wParam">Valor booleano</param>
/// <param name="lParam">Valor centinela de modo de presentación.</param>
/// <returns></returns>
[System.Runtime.InteropServices.DllImport("user32.dll")]
public static extern int SendMessage(IntPtr hWnd, Int32 wMsg, bool wParam, Int32 lParam);
internal void Actualizar()
{
SendMessage(this.Handle, WM_SETREDRAW, false, 0);
this.Controls.Remove(ctlAvion);
ctlAvion = new ControlAvion(m_avion);
ctlAvion.Location = new Point(2, 13);
ctlAvion.Size = new Size(597, 475);
this.Controls.Add(ctlAvion);
SendMessage(this.Handle, WM_SETREDRAW, true, 0);
this.Invalidate();
this.Refresh();
}
#endregion
#region Eventos:
/// <summary>
/// Activa el formulario de registro de pasajero.
/// </summary>
/// <param name="sender">Generador del evento.</param>
/// <param name="e">Argumentos del evento.</param>
private void btnRegistrarPasajero_Click(object sender, EventArgs e)
{
using(DialogoRegistrarPasajero drp = new DialogoRegistrarPasajero(this, m_avion))
{
DialogResult dr = drp.ShowDialog(this);
}
}
/// <summary>
/// Activa el formulario de eliminación/anulación de pasajero.
/// </summary>
/// <param name="sender">Generador del evento.</param>
/// <param name="e">Argumentos del evento.</param>
private void btnEliminarPasajero_Click(object sender, EventArgs e)
{
using(DialogoEliminarPasajero dep = new DialogoEliminarPasajero(this, m_avion))
{
DialogResult dr = dep.ShowDialog(this);
}
}
/// <summary>
/// Activa el formulario de búsqueda de pasajero.
/// </summary>
/// <param name="sender">Generador del evento.</param>
/// <param name="e">Argumentos del evento.</param>
private void btnBuscarPasajero_Click(object sender, EventArgs e)
{
using(DialogoBuscarPasajero dbp = new DialogoBuscarPasajero(m_avion))
{
dbp.ShowDialog(this);
}
}
/// <summary>
/// Activa el formulario de resumen de porcentaje de ocupación.
/// </summary>
/// <param name="sender">Generador del evento.</param>
/// <param name="e">Argumentos del evento.</param>
private void btnMostrarPorcentajeOcupacion_Click(object sender, EventArgs e)
{
double porcentajeOcupacion;
porcentajeOcupacion = m_avion.CalcularPorcentajeOcupacion();
MessageBox.Show(this, String.Format("{0}%", porcentajeOcupacion.ToString("0.0")), "Porcentaje de Ocupación", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
/// <summary>
/// Activa la generación del punto de extensión número 1.
/// </summary>
/// <param name="sender">Generador del evento.</param>
/// <param name="e">Argumentos del evento.</param>
private void btnOpcion1_Click(object sender, EventArgs e)
{
MessageBox.Show(this, m_avion.PuntoExtension1(), "Respuesta", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
/// <summary>
/// Activa la generación punto de extensión número 2.
/// </summary>
/// <param name="sender">Generador del evento.</param>
/// <param name="e">Argumentos del evento.</param>
private void btnOpcion2_Click(object sender, EventArgs e)
{
MessageBox.Show(this, m_avion.PuntoExtension2(), "Respuesta", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
#endregion
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment