Advertisement
Fhernd

ControlDatos.cs

Aug 16th, 2014
2,618
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 5.99 KB | None | 0 0
  1. // ===++===
  2. //
  3. //    OrtizOL
  4. //
  5. // ===--===
  6. /*============================================================
  7. //
  8. // Clase: ControlDatos.cs
  9. //
  10. // Original en: http://goo.gl/sqPt2m
  11. //
  12. // Propósito: Representar los controles con la información
  13. // de las notas de los estudiantes.
  14. //
  15. ============================================================*/
  16.  
  17. using System;
  18. using System.ComponentModel;
  19. using System.Drawing;
  20. using System.Windows.Forms;
  21.  
  22. namespace NotasCurso.GUI
  23. {
  24.     /// <summary>
  25.     /// Clase que representa el control con los datos
  26.     /// de las notas de los estudiantes.
  27.     /// </summary>
  28.     public partial class ControlDatos : UserControl
  29.     {
  30.         #region Componentes
  31.         /// <summary>
  32.         /// Etiquetas para la enumeración de los 12 estudiantes.
  33.         /// </summary>
  34.         private Label[] lblEstudiantes;
  35.         /// <summary>
  36.         /// Etiquetas para la enumeración de 12 notas de los estudiantes.
  37.         /// </summary>
  38.         private Label[] lblNotas;
  39.         /// <summary>
  40.         /// Botones para cambiar cada una de las notas de los estudiantes.
  41.         /// </summary>
  42.         private Button[] btnCambiarNota;
  43.         /// <summary>
  44.         /// Ventana principal de la aplicación.
  45.         /// </summary>
  46.         private Principal ventanaPrincipal;
  47.         #endregion
  48.  
  49.         #region Constructores
  50.         /// <summary>
  51.         /// Crea un control para los datos de los estudiantes.
  52.         /// </summary>
  53.         /// <param name="principal">Componente padre.</param>
  54.         public ControlDatos(Principal principal)
  55.         {
  56.             InitializeComponent();
  57.             ventanaPrincipal = principal;
  58.  
  59.             ConfiguracionComponentes();
  60.         }
  61.         #endregion
  62.  
  63.         #region Métodos
  64.         /// <summary>
  65.         /// Crea e inicializa los componentes integrales
  66.         /// para los datos de los estudiantes.
  67.         /// </summary>
  68.         private void ConfiguracionComponentes()
  69.         {
  70.             lblEstudiantes = new Label[12];
  71.             lblNotas = new Label[12];
  72.             btnCambiarNota = new Button[12];
  73.  
  74.             int espacioControles = 15;
  75.  
  76.             for (int i = 0; i < lblEstudiantes.Length; i++)
  77.             {
  78.                 // Etiquetas para el número de estudiante
  79.                 lblEstudiantes[i] = new Label();
  80.                 lblEstudiantes[i].AutoSize = true;
  81.                 lblEstudiantes[i].Location = new Point(9, espacioControles);
  82.                 lblEstudiantes[i].Name = String.Format("lblEstudiante{0}", (i + 1).ToString());
  83.                 lblEstudiantes[i].Text = String.Format("Estudiante {0}:", (i + 1).ToString());
  84.  
  85.                 // Etiquetas para la notas de cada estudiante:
  86.                 lblNotas[i] = new Label();
  87.                 lblNotas[i].AutoSize = true;
  88.                 lblNotas[i].ForeColor = Color.Blue;
  89.                 lblNotas[i].Location = new Point(139, espacioControles);
  90.                 lblNotas[i].Name = String.Format("lblNotas{0}", (i + 1).ToString());
  91.                 lblNotas[i].Text = String.Format("0.0");
  92.  
  93.                 // Botones para cambiar la nota de cada estudiante:
  94.                 btnCambiarNota[i] = new Button();
  95.                 btnCambiarNota[i].Click += ClickBotones;
  96.                 btnCambiarNota[i].Location = new Point(193, espacioControles - 5);
  97.                 btnCambiarNota[i].Name = String.Format("btnCambiarNota{0}", (i + 1).ToString());
  98.                 btnCambiarNota[i].Text = String.Format("Cambiar");
  99.  
  100.                 espacioControles += 24;
  101.                 gbxNotas.Controls.Add(lblEstudiantes[i]);
  102.                 gbxNotas.Controls.Add(lblNotas[i]);
  103.                 gbxNotas.Controls.Add(btnCambiarNota[i]);
  104.             }
  105.         }
  106.         /// <summary>
  107.         /// Actualiza la nota de un estudiante en el control de datos.
  108.         /// </summary>
  109.         /// <param name="estudiante">Número (1-12) del estudiante.</param>
  110.         /// <param name="nota">Nota del estudiante.</param>
  111.         public void RefrescarNota(int estudiante, double nota)
  112.         {
  113.             lblNotas[estudiante - 1].Text = String.Format("{0}", nota.ToString("F1"));
  114.         }
  115.         #endregion
  116.  
  117.         #region Eventos
  118.         /// <summary>
  119.         /// Activa el evento para cambio de nota.
  120.         /// </summary>
  121.         /// <param name="sender">Objeto generador del evento.</param>
  122.         /// <param name="e">Datos del evento.</param>
  123.         private void ClickBotones(object sender, System.EventArgs e)
  124.         {
  125.            switch(((Button)sender).Name)
  126.            {
  127.                case "btnCambiarNota1":
  128.                    ventanaPrincipal.CambiarNota(1);
  129.                    break;
  130.                case "btnCambiarNota2":
  131.                    ventanaPrincipal.CambiarNota(2);
  132.                    break;
  133.                case "btnCambiarNota3":
  134.                    ventanaPrincipal.CambiarNota(3);
  135.                    break;
  136.                case "btnCambiarNota4":
  137.                    ventanaPrincipal.CambiarNota(4);
  138.                    break;
  139.                case "btnCambiarNota5":
  140.                    ventanaPrincipal.CambiarNota(5);
  141.                    break;
  142.                case "btnCambiarNota6":
  143.                    ventanaPrincipal.CambiarNota(6);
  144.                    break;
  145.                case "btnCambiarNota7":
  146.                    ventanaPrincipal.CambiarNota(7);
  147.                    break;
  148.                case "btnCambiarNota8":
  149.                    ventanaPrincipal.CambiarNota(8);
  150.                    break;
  151.                case "btnCambiarNota9":
  152.                    ventanaPrincipal.CambiarNota(9);
  153.                    break;
  154.                case "btnCambiarNota10":
  155.                    ventanaPrincipal.CambiarNota(10);
  156.                    break;
  157.                case "btnCambiarNota11":
  158.                    ventanaPrincipal.CambiarNota(11);
  159.                    break;
  160.                case "btnCambiarNota12":
  161.                    ventanaPrincipal.CambiarNota(12);
  162.                    break;
  163.            }
  164.         }
  165.         #endregion
  166.     }
  167. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement