/// <summary> /// Actualiza la pestaña en una página dada. /// </summary> /// <param name="laPágina">La página dada.</param> /// <param name="elNúmeroDeItems">El número de items.</param> /// <param name="elEstadoPositivo">El estado a poner cuando es positivo.</param> public void ActualizaPestaña( TabPage laPágina, int elNúmeroDeItems, EstadoDePestaña elEstadoPositivo) { // Cambia el texto de la pestaña. laPágina.Text = string.Format("{0} ({1})", TextoBase(laPágina), elNúmeroDeItems); // Si el número de items es positivo entonces cambia // el estado de la pestaña al estado positivo. // Si no, entonces cambia el estado de la pestaña a estado Bíen. if (elNúmeroDeItems > 0) { PoneEstadoDePestaña( laPágina, elEstadoPositivo); } else { if (elEstadoPositivo == EstadoDePestaña.Nada) { PoneEstadoDePestaña( laPágina, ControladorDePestañas.EstadoDePestaña.Nada); } else { PoneEstadoDePestaña( laPágina, ControladorDePestañas.EstadoDePestaña.Bién); } } }
/// <summary> /// Pone el estado de la pestaña en una página dada. /// </summary> /// <param name="laPágina">La página dada.</param> /// <param name="elEstado">El estado a poner.</param> public void PoneEstadoDePestaña(TabPage laPágina, EstadoDePestaña elEstado) { laPágina.ImageIndex = (int)elEstado; // Calcula el estado máximo de las pestañas. int estadoMáximo = (int)EstadoDePestaña.Nada; foreach (TabPage pestaña in TabPages) { // El estado de la pestaña está representado por el índice de // la imágen. int estadoDeLaPestaña = pestaña.ImageIndex; if (estadoDeLaPestaña > estadoMáximo) { estadoMáximo = estadoDeLaPestaña; } } // Lanza el evento si el estado máximo cambió. if (estadoMáximo != (int)miEstadoMáximoDePestañas) { miEstadoMáximoDePestañas = (EstadoDePestaña)estadoMáximo; if (CambióEstadoMáximoDePestañas != null) { CambióEstadoMáximoDePestañas(this, new CambióEstadoMáximoDePestañasEventArgs(miEstadoMáximoDePestañas)); } } }
/// <summary> /// Constructor. /// </summary> /// <param name="elEstadoMáximo">El estado máximo de las pestañas.</param> public CambióEstadoMáximoDePestañasEventArgs(EstadoDePestaña elEstadoMáximo) { EstadoMáximoDePestañas = elEstadoMáximo; }