演练:在运行时更新状态栏信息
更新:2007 年 11 月
重要说明: |
---|
StatusStrip 和 ToolStripStatusLabel 控件替换了 StatusBar 和 StatusBarPanel 控件并添加了功能;但是也可选择保留 StatusBar 和 StatusBarPanel 控件以备向后兼容和将来使用。 |
经常会有程序要求您根据应用程序状态的更改或其他用户交互情况,在运行时动态更新状态栏面板的内容。这是一种用于执行以下任务的常用方式:通知用户启用了 Caps Lock、Num Lock 或 Scroll Lock 之类的键,或者将日期或时钟作为方便的引用来提供。
在下面的示例中,将使用 StatusBarPanel 类的一个实例来承载时钟。
准备更新状态栏
创建新的 Windows 窗体。
将 StatusBar 控件添加到您的窗体。有关详细信息,请参见如何:向 Windows 窗体添加控件。
将状态栏面板添加到您的 StatusBar 控件。有关详细信息,请参见如何:向 StatusBar 控件添加面板。
对于添加至窗体的 StatusBar 控件,将 ShowPanels 属性设置为 true。
将 Windows 窗体 Timer 组件添加到该窗体。
说明: Windows 窗体 System.Windows.Forms.Timer 组件是为 Windows 窗体环境设计的。如果您需要适合服务器环境的计时器,请参见基于服务器的计时器介绍。
将 Enabled 属性设置为 true。
将 Timer 的 Interval 属性设置为 30000。
说明:
通过实现计时器更新状态栏
将下面的代码插入 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(); }
此时,您就可以运行该应用程序并观察在状态栏面板中运行的时钟。
测试应用程序
调试该应用程序,然后按 F5 运行。有关调试的详细信息,请参见使用 Visual Studio 进行调试。
说明: 大约 30 秒之后,时钟才会出现在状态栏上。这样可以获得最精确的时间。相反地,要使时钟早些出现,应当减小在上文步骤 7 中设置的 Interval 属性的值。
请参见
任务
如何:确定 Windows 窗体 StatusBar 控件中被单击的面板