Created
August 16, 2014 12:01
-
-
Save Fhernd/f468bc65b7b6b120127a to your computer and use it in GitHub Desktop.
Ventana principal de la aplicación.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ===++=== | |
// | |
// 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 | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment