Skip to content

Instantly share code, notes, and snippets.

@Fhernd
Created August 16, 2014 11:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Fhernd/198f3a4320e9faabb951 to your computer and use it in GitHub Desktop.
Save Fhernd/198f3a4320e9faabb951 to your computer and use it in GitHub Desktop.
Control para los datos del estudiante.
// ===++===
//
// 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