Created
August 16, 2014 11:52
-
-
Save Fhernd/198f3a4320e9faabb951 to your computer and use it in GitHub Desktop.
Control para los datos del estudiante.
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: ControlDatos.cs | |
// | |
// Original en: http://goo.gl/sqPt2m | |
// | |
// Propósito: Representar los controles con la información | |
// de las notas de los estudiantes. | |
// | |
============================================================*/ | |
using System; | |
using System.ComponentModel; | |
using System.Drawing; | |
using System.Windows.Forms; | |
namespace NotasCurso.GUI | |
{ | |
/// <summary> | |
/// Clase que representa el control con los datos | |
/// de las notas de los estudiantes. | |
/// </summary> | |
public partial class ControlDatos : UserControl | |
{ | |
#region Componentes | |
/// <summary> | |
/// Etiquetas para la enumeración de los 12 estudiantes. | |
/// </summary> | |
private Label[] lblEstudiantes; | |
/// <summary> | |
/// Etiquetas para la enumeración de 12 notas de los estudiantes. | |
/// </summary> | |
private Label[] lblNotas; | |
/// <summary> | |
/// Botones para cambiar cada una de las notas de los estudiantes. | |
/// </summary> | |
private Button[] btnCambiarNota; | |
/// <summary> | |
/// Ventana principal de la aplicación. | |
/// </summary> | |
private Principal ventanaPrincipal; | |
#endregion | |
#region Constructores | |
/// <summary> | |
/// Crea un control para los datos de los estudiantes. | |
/// </summary> | |
/// <param name="principal">Componente padre.</param> | |
public ControlDatos(Principal principal) | |
{ | |
InitializeComponent(); | |
ventanaPrincipal = principal; | |
ConfiguracionComponentes(); | |
} | |
#endregion | |
#region Métodos | |
/// <summary> | |
/// Crea e inicializa los componentes integrales | |
/// para los datos de los estudiantes. | |
/// </summary> | |
private void ConfiguracionComponentes() | |
{ | |
lblEstudiantes = new Label[12]; | |
lblNotas = new Label[12]; | |
btnCambiarNota = new Button[12]; | |
int espacioControles = 15; | |
for (int i = 0; i < lblEstudiantes.Length; i++) | |
{ | |
// Etiquetas para el número de estudiante | |
lblEstudiantes[i] = new Label(); | |
lblEstudiantes[i].AutoSize = true; | |
lblEstudiantes[i].Location = new Point(9, espacioControles); | |
lblEstudiantes[i].Name = String.Format("lblEstudiante{0}", (i + 1).ToString()); | |
lblEstudiantes[i].Text = String.Format("Estudiante {0}:", (i + 1).ToString()); | |
// Etiquetas para la notas de cada estudiante: | |
lblNotas[i] = new Label(); | |
lblNotas[i].AutoSize = true; | |
lblNotas[i].ForeColor = Color.Blue; | |
lblNotas[i].Location = new Point(139, espacioControles); | |
lblNotas[i].Name = String.Format("lblNotas{0}", (i + 1).ToString()); | |
lblNotas[i].Text = String.Format("0.0"); | |
// Botones para cambiar la nota de cada estudiante: | |
btnCambiarNota[i] = new Button(); | |
btnCambiarNota[i].Click += ClickBotones; | |
btnCambiarNota[i].Location = new Point(193, espacioControles - 5); | |
btnCambiarNota[i].Name = String.Format("btnCambiarNota{0}", (i + 1).ToString()); | |
btnCambiarNota[i].Text = String.Format("Cambiar"); | |
espacioControles += 24; | |
gbxNotas.Controls.Add(lblEstudiantes[i]); | |
gbxNotas.Controls.Add(lblNotas[i]); | |
gbxNotas.Controls.Add(btnCambiarNota[i]); | |
} | |
} | |
/// <summary> | |
/// Actualiza la nota de un estudiante en el control de datos. | |
/// </summary> | |
/// <param name="estudiante">Número (1-12) del estudiante.</param> | |
/// <param name="nota">Nota del estudiante.</param> | |
public void RefrescarNota(int estudiante, double nota) | |
{ | |
lblNotas[estudiante - 1].Text = String.Format("{0}", nota.ToString("F1")); | |
} | |
#endregion | |
#region Eventos | |
/// <summary> | |
/// Activa el evento para cambio de nota. | |
/// </summary> | |
/// <param name="sender">Objeto generador del evento.</param> | |
/// <param name="e">Datos del evento.</param> | |
private void ClickBotones(object sender, System.EventArgs e) | |
{ | |
switch(((Button)sender).Name) | |
{ | |
case "btnCambiarNota1": | |
ventanaPrincipal.CambiarNota(1); | |
break; | |
case "btnCambiarNota2": | |
ventanaPrincipal.CambiarNota(2); | |
break; | |
case "btnCambiarNota3": | |
ventanaPrincipal.CambiarNota(3); | |
break; | |
case "btnCambiarNota4": | |
ventanaPrincipal.CambiarNota(4); | |
break; | |
case "btnCambiarNota5": | |
ventanaPrincipal.CambiarNota(5); | |
break; | |
case "btnCambiarNota6": | |
ventanaPrincipal.CambiarNota(6); | |
break; | |
case "btnCambiarNota7": | |
ventanaPrincipal.CambiarNota(7); | |
break; | |
case "btnCambiarNota8": | |
ventanaPrincipal.CambiarNota(8); | |
break; | |
case "btnCambiarNota9": | |
ventanaPrincipal.CambiarNota(9); | |
break; | |
case "btnCambiarNota10": | |
ventanaPrincipal.CambiarNota(10); | |
break; | |
case "btnCambiarNota11": | |
ventanaPrincipal.CambiarNota(11); | |
break; | |
case "btnCambiarNota12": | |
ventanaPrincipal.CambiarNota(12); | |
break; | |
} | |
} | |
#endregion | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment