Tutorial: Actualizar la información de la barra de estado en tiempo de ejecución

Actualización: noviembre 2007

Nota importante:

Los controles StatusStrip y ToolStripStatusLabel reemplazan a los controles StatusBar y StatusBarPanel, y les agregan funcionalidad; sin embargo, los controles StatusBar y StatusBarPanel se conservan para obtener la compatibilidad con versiones anteriores y para su uso futuro, si se desea.

Con frecuencia, el programa le solicitará que actualice el contenido de los paneles de la barra de estado dinámicamente en tiempo de ejecución, basándose en cambios en el estado de la aplicación u otra interacción del usuario. Esta es una manera común de indicar a los usuarios que las teclas como BLOQ MAYÚS, BLOQ NUM o BLOQ DESPL están activas o para proporcionar la fecha o un reloj como una referencia adecuada.

En el ejemplo siguiente, se utiliza una instancia de la clase StatusBarPanel para alojar un reloj.

Para obtener la barra de estado lista para la actualización

  1. Cree un nuevo formulario Windows Forms.

  2. Agregue el control StatusBar al formulario. Para obtener información detallada, vea Cómo: Agregar controles a formularios Windows Forms.

  3. Agregue un panel de barra de estado al control StatusBar. Para obtener información detallada, vea Cómo: Agregar paneles a un control StatusBar.

  4. Para el control StatusBar que ha agregado a su formulario, establezca la propiedad ShowPanels en true.

  5. Agregue al formulario un componente Timer de formularios Windows Forms.

    Nota:

    El componente System.Windows.Forms.Timer de formularios Windows Forms está diseñado para el entorno de formularios Windows Forms. Si necesita un temporizador que sea adecuado para un entorno de servidor, vea Introducción a los temporizadores basados en servidor.

  6. Establezca la propiedad Enabled en true.

  7. Establezca la propiedad Interval del control Timer en 30000.

    Nota:

    La propiedad Interval del componente Timer se establece en 30 segundos (30.000 milisegundos) para asegurarse de que la hora mostrada sea exacta.

Para implementar el temporizador para actualizar la barra de estado

  • Inserte el código siguiente en el controlador de eventos del componente Timer para actualizar el panel del control StatusBar.

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
       StatusBar1.Panels(0).Text = Now.ToShortTimeString
    End Sub
    
    private void timer1_Tick(object sender, System.EventArgs e)
    {
       statusBar1.Panels[0].Text = DateTime.Now.ToShortTimeString();
    }
    
    private:
      System::Void timer1_Tick(System::Object ^ sender,
        System::EventArgs ^ e)
      {
        statusBar1->Panels[0]->Text =
          DateTime::Now.ToShortTimeString();
      }
    

    En este punto, puede ejecutar la aplicación; observará el reloj en ejecución en el panel de barra de estado.

Para probar la aplicación

  • Depure la aplicación y presione F5 para ejecutarla. Para obtener información sobre la depuración, vea Depurar en Visual Studio.

    Nota:

    El reloj tardará aproximadamente 30 segundos en aparecer en la barra de estado. Esto es así para obtener la hora más precisa posible. Por otro lado, para que el reloj aparezca antes, puede reducir el valor de la propiedad Interval que ha establecido en el paso 7 del procedimiento anterior.

Vea también

Tareas

Cómo: Agregar paneles a un control StatusBar

Cómo: Determinar en qué panel del control StatusBar de formularios Windows Forms se hizo clic

Referencia

Información general sobre StatusBar (Control, formularios Windows Forms)

StatusBar

ToolStripStatusLabel