form1.vb

来自「清华大学出版社出版的 移动应用开发宝典 张大威(2008)的附书源代码」· VB 代码 · 共 62 行

VB
62
字号
Imports Microsoft.WindowsMobile.Status

Public Class Form1

    Private m_powerState As SystemState
    Private m_batteryState As SystemState


    Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
        Me.m_powerState = New SystemState(SystemProperty.PowerBatteryState)
        Me.m_batteryState = New SystemState(SystemProperty.PowerBatteryStrength)
        AddHandler Me.m_powerState.Changed, New ChangeEventHandler(AddressOf Me.powerState_Changed)
        AddHandler Me.m_batteryState.Changed, New ChangeEventHandler(AddressOf Me.batteryState_Changed)
        Me.ckCharging.Checked = (SystemState.PowerBatteryState = batteryState.Charging)
        Me.UpdateBatteryStrength(SystemState.PowerBatteryStrength)
    End Sub


    Private Sub powerState_Changed(ByVal sender As Object, ByVal args As ChangeEventArgs)
        Me.ckCharging.Checked = (DirectCast(args.NewValue, BatteryState) = BatteryState.Charging)
    End Sub


    Private Sub batteryState_Changed(ByVal sender As Object, ByVal args As ChangeEventArgs)
        Me.UpdateBatteryStrength(DirectCast(args.NewValue, BatteryLevel))
    End Sub








    Private Sub UpdateBatteryStrength(ByVal newLevel As BatteryLevel)
          Select Case newLevel
            Case BatteryLevel.VeryLow
                Me.pnlPower.BackColor = Color.Red
                Me.pbBattery.Value = 0
                Return
            Case BatteryLevel.Low
                Me.pnlPower.BackColor = Color.Orange
                Me.pbBattery.Value = &H19
                Return
            Case BatteryLevel.Medium
                Me.pnlPower.BackColor = Color.Yellow
                Me.pbBattery.Value = 50
                Return
            Case BatteryLevel.High
                Me.pnlPower.BackColor = Color.LimeGreen
                Me.pbBattery.Value = &H4B
                Return
            Case BatteryLevel.VeryHigh
                Me.pnlPower.BackColor = Color.Green
                Me.pbBattery.Value = 100
                Return
        End Select
    End Sub


End Class

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?