演练:在运行时更新状态栏信息

重要

StatusStripToolStripStatusLabel 控件取代了 StatusBarStatusBarPanel 控件并向其中添加了新功能;但也可选择保留 StatusBarStatusBarPanel 控件以备后向兼容和供将来使用。

通常情况下,程序会要求根据应用程序状态的更改或其他用户交互情况,在运行时动态更新状态栏面板的内容。 这是一种用于执行以下任务的常用方式:通知用户启用了 CAPS LOCK、NUM LOCK 或 SCROLL LOCK 之类的键,或者将日期或时钟作为方便的引用提供。

在下面的示例中,将使用 StatusBarPanel 类的实例来承载时钟。

准备更新状态栏

  1. 创建新的 Windows 窗体。

  2. 向窗体添加一个 StatusBar 控件。 有关详细信息,请参阅如何:向 Windows 窗体添加控件

  3. 将状态栏面板添加到 StatusBar 控件。 有关详细信息,请参阅如何:向 StatusBar 控件添加面板

  4. 对于添加到窗体中的 StatusBar 控件,请将 ShowPanels 属性设置为 true

  5. 将 Windows 窗体 Timer 组件添加到窗体。

    注意

    Windows 窗体 System.Windows.Forms.Timer 组件专为 Windows 窗体环境设计。 如果需要适合服务器环境的计时器,请参阅基于服务器的计时器介绍

  6. Enabled 属性设置为 true

  7. TimerInterval 属性设置为 30000。

    注意

    Timer 组件的 Interval 属性设置为 30 秒(30,000 毫秒),以确保在显示的时间中反映准确的时间。

通过实现计时器更新状态栏

  1. 将以下代码插入到 Timer 组件的事件处理程序中,以更新 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();  
      }  
    

    此时,就可以运行该应用程序并观察在状态栏面板中运行的时钟。

测试应用程序

  1. 调试该应用程序,然后按 F5 运行。 有关调试的详细信息,请参阅在 Visual Studio 中进行调试

    注意

    大约 30 秒之后,时钟才会出现在状态栏上。 这样可以获得最精确的时间。 相反,若要使时钟早些出现,应当减小在上述步骤 7 中设置的 Interval 属性的值。

另请参阅