Advertisement
Fhernd

Principal.cs

Aug 16th, 2014
2,710
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.76 KB | None | 0 0
  1. // ===++===
  2. //
  3. //    OrtizOL
  4. //
  5. // ===--===
  6. /*============================================================
  7. //
  8. // Clase: Principal.cs
  9. //
  10. // Original en: http://goo.gl/lpvWbR
  11. //
  12. // Propósito: Crear la ventana principal de la aplicación.
  13. //
  14. ============================================================*/
  15.  
  16. using System;
  17. using System.ComponentModel;
  18. using System.Drawing;
  19. using System.Threading.Tasks;
  20. using System.Windows.Forms;
  21.  
  22. using NotasCurso.Modelo;
  23.  
  24. namespace NotasCurso.GUI
  25. {
  26.     /// <summary>
  27.     /// Formulario con la interfaz de usuario.
  28.     /// </summary>
  29.     public partial class Principal : Form
  30.     {
  31.         #region Componentes
  32.         /// <summary>
  33.         /// Control para las operaciones principales de la aplicación.
  34.         /// </summary>
  35.         private ControlAdicionales controlAdicionales;
  36.         /// <summary>
  37.         /// Control para los datos de notas de los estudiantes.
  38.         /// </summary>
  39.         private ControlDatos controlDatos;
  40.         /// <summary>
  41.         /// Control para la visualización de una imagen de un salón de clase.
  42.         /// </summary>
  43.         private ControlImagen controlImagen;
  44.         #endregion
  45.  
  46.         #region Campos
  47.         /// <summary>
  48.         /// Representa un curso donde asisten 12 estudiantes.
  49.         /// </summary>
  50.         private Curso curso;
  51.         #endregion
  52.  
  53.         #region Propiedades
  54.         public double Nota { get; set; }
  55.         #endregion
  56.  
  57.         #region Constructores
  58.         /// <summary>
  59.         /// Crea la ventana principal de la aplicación.
  60.         /// </summary>
  61.         public Principal()
  62.         {
  63.             InitializeComponent();
  64.             ConfiguracionComponentes();
  65.  
  66.             curso = new Curso();
  67.         }
  68.         #endregion
  69.  
  70.         #region Métodos
  71.         /// <summary>
  72.         /// Configura cada componente integral de la ventana principal.
  73.         /// </summary>
  74.         private void ConfiguracionComponentes()
  75.         {
  76.             this.Icon = Properties.Resources.notas;
  77.  
  78.             controlImagen = new ControlImagen();
  79.  
  80.             controlDatos = new ControlDatos(this) { Location = new Point(353, 0) };
  81.  
  82.             controlAdicionales = new ControlAdicionales(this) { Location = new Point(0, 304) };
  83.  
  84.             this.Controls.Add(controlImagen);
  85.             this.Controls.Add(controlDatos);
  86.             this.Controls.Add(controlAdicionales);
  87.         }
  88.         /// <summary>
  89.         /// Cambia la nota de un estudiante en particular.
  90.         /// </summary>
  91.         /// <param name="estudiante">Número (1-12) del estudiante.</param>
  92.         public void CambiarNota(int estudiante)
  93.         {
  94.             using (DialogoNota dn = new DialogoNota(this))
  95.             {
  96.                 DialogResult dr = dn.ShowDialog(this);
  97.  
  98.                 if (dr == System.Windows.Forms.DialogResult.OK)
  99.                 {
  100.                     curso.CambiarNota(estudiante, Nota);
  101.  
  102.                     controlDatos.RefrescarNota(estudiante, curso.ObtenerNota(estudiante));
  103.                 }
  104.             }
  105.         }
  106.         /// <summary>
  107.         /// Muestra en pantalla el número de estudiantes que tienen una nota por encima del promedio.
  108.         /// </summary>
  109.         public void MostrarMayores()
  110.         {
  111.             MessageBox.Show(this, String.Format("Número de estudiantes con nota mayor al promedio ({0}): {1}",
  112.                                                 curso.CalcularPromedio().ToString("F1"), curso.CuantosEncimaPromedio().ToString()),
  113.                             "Estudiantes", MessageBoxButtons.OK, MessageBoxIcon.Information
  114.             );
  115.         }
  116.         /// <summary>
  117.         /// Muestra en pantalla el promedio de todas las notas de los 12 estudiantes.
  118.         /// </summary>
  119.         public void MostrarPromedio()
  120.         {
  121.             MessageBox.Show(this, String.Format("Promedio: {0}",
  122.                                                 curso.CalcularPromedio().ToString("F1")),
  123.                             "Estudiantes", MessageBoxButtons.OK, MessageBoxIcon.Information
  124.             );
  125.         }
  126.         #endregion
  127.  
  128.         #region Puntos de Extensión
  129.         /// <summary>
  130.         /// Muestra en pantalla invocación de mensaje del punto de extensión número 1.
  131.         /// </summary>
  132.         public void PuntoExtension1()
  133.         {
  134.             MessageBox.Show(this, curso.PuntoExtension1(), "Respuesta", MessageBoxButtons.OK, MessageBoxIcon.Information);
  135.         }
  136.         /// <summary>
  137.         /// Muestra en pantalla invocación de mensaje del punto de extensión número 2.
  138.         /// </summary>
  139.         public void PuntoExtension2()
  140.         {
  141.             MessageBox.Show(this, curso.PuntoExtension2(), "Respuesta", MessageBoxButtons.OK, MessageBoxIcon.Information);
  142.         }
  143.         #endregion
  144.     }
  145. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement