Dela via


Genomgång: Uppdatera information om statusfältet i realtid

Viktigt!

Kontrollerna StatusStrip och ToolStripStatusLabel ersätter och lägger till funktioner i kontrollerna StatusBar och StatusBarPanel. Men kontrollerna StatusBar och StatusBarPanel behålls för både bakåtkompatibilitet och framtida användning, om du vill.

Ofta uppmanar ett program dig att uppdatera innehållet i statusfältpaneler dynamiskt vid körning, baserat på ändringar i programtillstånd eller annan användarinteraktion. Det här är ett vanligt sätt att signalera användare att nycklar som CAPS LOCK, NUM LOCK eller SCROLL LOCK är aktiverade, eller att ange datumet eller en klocka som en praktisk referens.

I följande exempel använder du en instans av klassen StatusBarPanel som värd för en klocka.

Så här gör du statusfältet redo för uppdatering

  1. Skapa ett nytt Windows-formulär.

  2. Lägg till ett StatusBar-kontrollelement i ditt formulär. Mer information finns i How to: Add Controls to Windows Forms.

  3. Lägg till en statusfältpanel i din StatusBar kontroll. För detaljer, se Hur man: Lägger till paneler i en StatusBar-kontroll.

  4. För den StatusBar kontroll som du lade till i formuläret anger du egenskapen ShowPanels till true.

  5. Lägg till en Windows Forms-Timer komponent i formuläret.

    Anmärkning

    Komponenten Windows Forms System.Windows.Forms.Timer är utformad för en Windows Forms-miljö. Om du behöver en timer som är lämplig för en servermiljö kan du läsa Introduktion till Server-Based Timers.

  6. Ange egenskapen Enabled till true.

  7. Ange egenskapen Interval för Timer till 30000.

    Anmärkning

    Egenskapen Interval för komponenten Timer är inställd på 30 sekunder (30 000 millisekunder) för att säkerställa att en korrekt tid återspeglas i den tid som visas.

Så här implementerar du timern för att uppdatera statusfältet

  1. Infoga följande kod i händelsehanteraren för den Timer komponenten för att uppdatera panelen i StatusBar-kontrollen.

    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();
      }
    

    Nu är du redo att köra programmet och observera klockan som körs i statusfältets panel.

Testa programmet

  1. Felsök programmet och tryck på F5 för att köra det. Mer information om felsökning finns i Felsökning i Visual Studio.

    Anmärkning

    Det tar cirka 30 sekunder innan klockan visas i statusfältet. Detta är för att få så exakt tid som möjligt. Om du vill att klockan ska visas tidigare kan du minska värdet för den Interval egenskap som du angav i steg 7 i föregående procedur.

Se även