Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ===++===
- //
- // OrtizOL
- //
- // ===--===
- /*============================================================
- //
- // Clase: Principal.cs
- //
- // Original en: http://goo.gl/lpvWbR
- //
- // Propósito: Crear la ventana principal de la aplicación.
- //
- ============================================================*/
- using System;
- using System.ComponentModel;
- using System.Drawing;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- using NotasCurso.Modelo;
- namespace NotasCurso.GUI
- {
- /// <summary>
- /// Formulario con la interfaz de usuario.
- /// </summary>
- public partial class Principal : Form
- {
- #region Componentes
- /// <summary>
- /// Control para las operaciones principales de la aplicación.
- /// </summary>
- private ControlAdicionales controlAdicionales;
- /// <summary>
- /// Control para los datos de notas de los estudiantes.
- /// </summary>
- private ControlDatos controlDatos;
- /// <summary>
- /// Control para la visualización de una imagen de un salón de clase.
- /// </summary>
- private ControlImagen controlImagen;
- #endregion
- #region Campos
- /// <summary>
- /// Representa un curso donde asisten 12 estudiantes.
- /// </summary>
- private Curso curso;
- #endregion
- #region Propiedades
- public double Nota { get; set; }
- #endregion
- #region Constructores
- /// <summary>
- /// Crea la ventana principal de la aplicación.
- /// </summary>
- public Principal()
- {
- InitializeComponent();
- ConfiguracionComponentes();
- curso = new Curso();
- }
- #endregion
- #region Métodos
- /// <summary>
- /// Configura cada componente integral de la ventana principal.
- /// </summary>
- private void ConfiguracionComponentes()
- {
- this.Icon = Properties.Resources.notas;
- controlImagen = new ControlImagen();
- controlDatos = new ControlDatos(this) { Location = new Point(353, 0) };
- controlAdicionales = new ControlAdicionales(this) { Location = new Point(0, 304) };
- this.Controls.Add(controlImagen);
- this.Controls.Add(controlDatos);
- this.Controls.Add(controlAdicionales);
- }
- /// <summary>
- /// Cambia la nota de un estudiante en particular.
- /// </summary>
- /// <param name="estudiante">Número (1-12) del estudiante.</param>
- public void CambiarNota(int estudiante)
- {
- using (DialogoNota dn = new DialogoNota(this))
- {
- DialogResult dr = dn.ShowDialog(this);
- if (dr == System.Windows.Forms.DialogResult.OK)
- {
- curso.CambiarNota(estudiante, Nota);
- controlDatos.RefrescarNota(estudiante, curso.ObtenerNota(estudiante));
- }
- }
- }
- /// <summary>
- /// Muestra en pantalla el número de estudiantes que tienen una nota por encima del promedio.
- /// </summary>
- public void MostrarMayores()
- {
- MessageBox.Show(this, String.Format("Número de estudiantes con nota mayor al promedio ({0}): {1}",
- curso.CalcularPromedio().ToString("F1"), curso.CuantosEncimaPromedio().ToString()),
- "Estudiantes", MessageBoxButtons.OK, MessageBoxIcon.Information
- );
- }
- /// <summary>
- /// Muestra en pantalla el promedio de todas las notas de los 12 estudiantes.
- /// </summary>
- public void MostrarPromedio()
- {
- MessageBox.Show(this, String.Format("Promedio: {0}",
- curso.CalcularPromedio().ToString("F1")),
- "Estudiantes", MessageBoxButtons.OK, MessageBoxIcon.Information
- );
- }
- #endregion
- #region Puntos de Extensión
- /// <summary>
- /// Muestra en pantalla invocación de mensaje del punto de extensión número 1.
- /// </summary>
- public void PuntoExtension1()
- {
- MessageBox.Show(this, curso.PuntoExtension1(), "Respuesta", MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- /// <summary>
- /// Muestra en pantalla invocación de mensaje del punto de extensión número 2.
- /// </summary>
- public void PuntoExtension2()
- {
- MessageBox.Show(this, curso.PuntoExtension2(), "Respuesta", MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- #endregion
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement