form1.cs
来自「清华大学出版社出版的 移动应用开发宝典 张大威(2008)的附书源代码」· CS 代码 · 共 98 行
CS
98 行
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Microsoft.WindowsMobile.Status;
namespace Status
{
public partial class Form1 : Form
{
private SystemState cradleState;
private SystemState powerState;
private SystemState batteryState;
public Form1()
{
InitializeComponent();
if(SystemState.IsApplicationLauncherEnabled("Chapter17.Cradle"))
{
cradleState = new SystemState("Chapter17.Cradle");
}
else
{
cradleState = new SystemState(SystemProperty.CradlePresent);
cradleState.EnableApplicationLauncher("Chapter17.Cradle");
}
cradleState.Changed+=new ChangeEventHandler(cradleState_Changed);
}
private void Form1_Load(object sender, EventArgs e)
{
powerState = new SystemState(SystemProperty.PowerBatteryState);
batteryState = new SystemState(SystemProperty.PowerBatteryStrength);
powerState.Changed += new ChangeEventHandler(powerState_Changed);
batteryState.Changed += new ChangeEventHandler(batteryState_Changed);
//set initial states
ckCharging.Checked = (SystemState.PowerBatteryState == BatteryState.Charging);
UpdateBatteryStrength(SystemState.PowerBatteryStrength);
}
void cradleState_Changed(object sender, ChangeEventArgs args)
{
if (!Convert.ToBoolean(args.NewValue))
{
//close app when undocked
this.Close();
}
}
void batteryState_Changed(object sender, ChangeEventArgs args)
{
UpdateBatteryStrength((BatteryLevel)args.NewValue);
}
void powerState_Changed(object sender, ChangeEventArgs args)
{
ckCharging.Checked = ((BatteryState)args.NewValue == BatteryState.Charging);
}
void UpdateBatteryStrength(BatteryLevel newLevel)
{
switch (newLevel)
{
case BatteryLevel.VeryHigh:
pnlPower.BackColor = Color.Green;
pbBattery.Value = 100;
break;
case BatteryLevel.High:
pnlPower.BackColor = Color.LimeGreen;
pbBattery.Value = 75;
break;
case BatteryLevel.Medium:
pnlPower.BackColor = Color.Yellow;
pbBattery.Value = 50;
break;
case BatteryLevel.Low:
pnlPower.BackColor = Color.Orange;
pbBattery.Value = 25;
break;
case BatteryLevel.VeryLow:
pnlPower.BackColor = Color.Red;
pbBattery.Value = 0;
break;
}
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?