使用一个电源状态属性,即可监视电池的充电状态。BatteryLifePercent 属性为 ProgressBar 控件提供了百分比。Timer 控件设置了检查电源状态的时间间隔。
用 BatteryLifePercent 属性创建简单的电池标尺
Private Sub tmrBattery_Timer()
If sysBattery.BatteryLifePercent <> 255 Then
prgBattery.Value = _ sysBattery.BatteryLifePercent
prgBattery.Enabled = True
Else
prgBattery.Value = 0
prgBattery.Enabled = False
End If
End Sub
该应用程序运行时,SysInfo 控件向操作系统查询是否有电池,并用 BatteryLifePercent 属性显示其当前充电状态。
图 2.28 简单的电池标尺
可以对该示例进行改进,使用电源状态事件检测系统电源状态的变化。在下面的示例中,在窗体上添加了 Label 控件,并在电源状态改变时用 PowerStatusChanged 事件通知用户。
更新电池电源状态的变化
Private Sub sysBattery_PowerStatusChanged() Select Case sysBattery.BatteryStatus Case 1 lblStatus.Caption = "
电池正常"
Case 2
lblStatus.Caption = "
电池余量不足"
Case 4
lblStatus.Caption = "
电池余量严重不足"
Case 8
lblStatus.Caption = "
电池正在充电"
Case 128, 255
lblStatus.Caption = "
没有电池"
End Select
End Sub
图 2.29 用 PowerStatusChanged 事件改进后的电池标尺
在 Select Case 语句中,BatteryStatus 属性的返回值指示了电池的当前状态设置。在发生 PowerStatusChange 事件时,用当前状态对 Label 控件进行更新。例如,如果电池能量耗尽,或被从计算机中取出。