/// <summary>/// Usado para recibir de FormAgregarAlumno la información del alumno agregado</summary> public void recibirAlumno(Alumno nuevo) { lblInfoAlumnos.Dispose(); lblArrowAlumno.Dispose(); //agregar alumno al array alumnosGrupo.Add(nuevo); //hacer el label Label nombre = PersonalizacionComponentes.hacerLabelAlumno(nuevo); //agregar el menú contextual MenuItem[] menu = { new MenuItem("Editar", editarAlumno_Click), new MenuItem("Borrar", borrarAlumno_Click) }; menu[0].Name = nuevo.getId() + ""; menu[1].Name = nuevo.getId() + ""; nombre.ContextMenu = new ContextMenu(menu); flPanelAlumnos.Controls.Add(nombre); //Para evitar que desacomode los días nuevos para este nuevo alumno System.Collections.IEnumerator fechas = flPanelFechas.Controls.GetEnumerator(); List <DiaClase> daysNewAlum = new List <DiaClase>(); while (fechas.MoveNext()) { string[] actualDay = ((tiltLabel)fechas.Current).Text.Split('/'); daysNewAlum.Add(new DiaClase(new DateTime(Convert.ToInt32(actualDay[2]), Convert.ToInt32(actualDay[1]), Convert.ToInt32(actualDay[0])), nuevo.getId())); } //Asistencias //DiaClase[] diasClase = dbConection.getDiasClase(idGrupo); FlowLayoutPanel asistencias = PersonalizacionComponentes.hacerPanelAsistencias(nuevo.getId(), daysNewAlum.ToArray()); asistencias.Name = nuevo.getId().ToString(); //Quitar el label de control si es que está quitarLabelControl(); flPanelAsistencias.Controls.Add(asistencias); Console.WriteLine(flPanelFechas.Controls.Count + " dias "); if (flPanelFechas.Controls.Count <= 10) { agregarLabelControl(); } }
/// <summary> llena la lista de asistencias </summary> private void cargarAsistencias() { DiaClase[] diasClase = dbConection.getDiasClase(idGrupo, mostrandoTodosDias); if (diasClase.Length != 0) { flPanelAsistencias.Controls.Clear(); flPanelFechas.Controls.Clear(); lblArrowDia.Dispose(); foreach (DiaClase diaClase in diasClase) { tiltLabel labelFecha = new tiltLabel(diaClase); MenuItem[] menu = { new MenuItem("Borrar", borrarFecha_Click) }; menu[0].Name = diaClase.dia.ToString("dd'/'MM'/'yy"); labelFecha.ContextMenu = new ContextMenu(menu); flPanelFechas.Controls.Add(labelFecha); } foreach (Alumno alumno in alumnosGrupo) { FlowLayoutPanel asistencias = PersonalizacionComponentes.hacerPanelAsistencias(alumno.getId(), diasClase); asistencias.Name = alumno.getId().ToString(); flPanelAsistencias.Controls.Add(asistencias); } /*Cuando el número de días no es diez no aparece la barra ed scroll horizontal por lo que hay que hacer la validación y * en este caso agregar un label con el tamaño de un scroll y que no desalinea los nombres con los días de asistencia */ if (diasClase.Length <= 10) { agregarLabelControl(); } } //Evento de Scroll con el scroll del mouse flPanelAsistencias.MouseWheel += flPanelAsistencias_MouseScroll; flPanelFechas.MouseWheel += FlPanelFechas_MouseWheel; }