Advertisement
Fhernd

Principal.cs

Jul 2nd, 2015
4,035
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 6.19 KB | None | 0 0
  1. // ===++===
  2. //
  3. //    OrtizOL - xCSw
  4. //
  5. //  Proyecto: Cupi2.NET
  6. //
  7. // ===--===
  8. /*============================================================
  9. //
  10. // Clase(s): Principal.
  11. //
  12. // Propósito: Representar el formulario principal de la
  13. // aplicación.
  14. //
  15. // Original: http://cupi2.uniandes.edu.co/sitio/index.php/cursos/apo1/nivel-3/avion/visualizacion-codigo/interfazavion
  16. //
  17. ============================================================*/
  18. using System;
  19. using System.Collections.Generic;
  20. using System.ComponentModel;
  21. using System.Data;
  22. using System.Drawing;
  23. using System.Linq;
  24. using System.Text;
  25. using System.Threading.Tasks;
  26. using System.Windows.Forms;
  27. using ElAvión.Modelo;
  28.  
  29. namespace ElAvión.GUI
  30. {
  31.     /// <summary>
  32.     /// Clase que representa el formulario principal de la aplicación.
  33.     /// </summary>
  34.     public partial class Principal : Form
  35.     {
  36.         #region Campos o constantes de sistema
  37.         /// <summary>
  38.         /// Constante con valor útil para redibujar componentes compuestos.
  39.         /// </summary>
  40.         private const int WM_SETREDRAW = 11;
  41.         #endregion
  42.         #region campos
  43.         /// <summary>
  44.         /// Representa una instancia de la entidad `Avion`.
  45.         /// </summary>
  46.         private Avion m_avion;
  47.         #endregion
  48.  
  49.         #region Componentes de interfaz
  50.         /// <summary>
  51.         /// Instancia de control personalizado del diagrama de sillas de la avión.
  52.         /// </summary>
  53.         private ControlAvion ctlAvion;
  54.         #endregion
  55.         public Principal()
  56.         {
  57.             // Inicializa los componentes integrales del formulario principal.
  58.             InitializeComponent();
  59.  
  60.             // Operaciones de inicialización:
  61.             m_avion = new Avion();
  62.  
  63.             // Creación de la instancia del control de avión gráfica (diagrama de sillas):
  64.             ctlAvion = new ControlAvion(m_avion);
  65.             ctlAvion.Location = new Point(2, 13);
  66.             ctlAvion.Size = new Size(597, 475);
  67.  
  68.             this.Controls.Add(ctlAvion);
  69.         }
  70.  
  71.         #region Métodos:
  72.         /// <summary>
  73.         /// Envío de mensaje para suspender redibujar efectivamente la interfaz de sillas del avión.
  74.         /// </summary>
  75.         /// <param name="hWnd">Puntero</param>
  76.         /// <param name="wMsg">Valor constante</param>
  77.         /// <param name="wParam">Valor booleano</param>
  78.         /// <param name="lParam">Valor centinela de modo de presentación.</param>
  79.         /// <returns></returns>
  80.         [System.Runtime.InteropServices.DllImport("user32.dll")]
  81.         public static extern int SendMessage(IntPtr hWnd, Int32 wMsg, bool wParam, Int32 lParam);
  82.  
  83.         internal void Actualizar()
  84.         {
  85.             SendMessage(this.Handle, WM_SETREDRAW, false, 0);
  86.             this.Controls.Remove(ctlAvion);
  87.             ctlAvion = new ControlAvion(m_avion);
  88.             ctlAvion.Location = new Point(2, 13);
  89.             ctlAvion.Size = new Size(597, 475);
  90.             this.Controls.Add(ctlAvion);
  91.  
  92.             SendMessage(this.Handle, WM_SETREDRAW, true, 0);
  93.             this.Invalidate();
  94.             this.Refresh();
  95.         }
  96.         #endregion
  97.  
  98.         #region Eventos:
  99.         /// <summary>
  100.         /// Activa el formulario de registro de pasajero.
  101.         /// </summary>
  102.         /// <param name="sender">Generador del evento.</param>
  103.         /// <param name="e">Argumentos del evento.</param>
  104.         private void btnRegistrarPasajero_Click(object sender, EventArgs e)
  105.         {
  106.             using(DialogoRegistrarPasajero drp = new DialogoRegistrarPasajero(this, m_avion))
  107.             {
  108.                 DialogResult dr = drp.ShowDialog(this);
  109.             }
  110.         }
  111.         /// <summary>
  112.         /// Activa el formulario de eliminación/anulación de pasajero.
  113.         /// </summary>
  114.         /// <param name="sender">Generador del evento.</param>
  115.         /// <param name="e">Argumentos del evento.</param>
  116.         private void btnEliminarPasajero_Click(object sender, EventArgs e)
  117.         {
  118.             using(DialogoEliminarPasajero dep = new DialogoEliminarPasajero(this, m_avion))
  119.             {
  120.                 DialogResult dr = dep.ShowDialog(this);
  121.             }
  122.         }
  123.         /// <summary>
  124.         /// Activa el formulario de búsqueda de pasajero.
  125.         /// </summary>
  126.         /// <param name="sender">Generador del evento.</param>
  127.         /// <param name="e">Argumentos del evento.</param>
  128.         private void btnBuscarPasajero_Click(object sender, EventArgs e)
  129.         {
  130.             using(DialogoBuscarPasajero dbp = new DialogoBuscarPasajero(m_avion))
  131.             {
  132.                 dbp.ShowDialog(this);
  133.             }
  134.         }
  135.         /// <summary>
  136.         /// Activa el formulario de resumen de porcentaje de ocupación.
  137.         /// </summary>
  138.         /// <param name="sender">Generador del evento.</param>
  139.         /// <param name="e">Argumentos del evento.</param>
  140.         private void btnMostrarPorcentajeOcupacion_Click(object sender, EventArgs e)
  141.         {
  142.             double porcentajeOcupacion;
  143.  
  144.             porcentajeOcupacion = m_avion.CalcularPorcentajeOcupacion();
  145.             MessageBox.Show(this, String.Format("{0}%", porcentajeOcupacion.ToString("0.0")), "Porcentaje de Ocupación", MessageBoxButtons.OK, MessageBoxIcon.Information);
  146.         }
  147.         /// <summary>
  148.         /// Activa la generación del punto de extensión número 1.
  149.         /// </summary>
  150.         /// <param name="sender">Generador del evento.</param>
  151.         /// <param name="e">Argumentos del evento.</param>
  152.         private void btnOpcion1_Click(object sender, EventArgs e)
  153.         {
  154.             MessageBox.Show(this, m_avion.PuntoExtension1(), "Respuesta", MessageBoxButtons.OK, MessageBoxIcon.Information);
  155.         }
  156.         /// <summary>
  157.         /// Activa la generación punto de extensión número 2.
  158.         /// </summary>
  159.         /// <param name="sender">Generador del evento.</param>
  160.         /// <param name="e">Argumentos del evento.</param>
  161.         private void btnOpcion2_Click(object sender, EventArgs e)
  162.         {
  163.             MessageBox.Show(this, m_avion.PuntoExtension2(), "Respuesta", MessageBoxButtons.OK, MessageBoxIcon.Information);
  164.         }
  165.         #endregion
  166.     }
  167. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement