⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mobilesignalpower.cs

📁 基于手机操作系统mobile5.0显示手机信号强度与电池电量的源码
💻 CS
字号:
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 SignalPower
{
	public partial class SignalPower : Form
	{
		public SignalPower()
		{
			InitializeComponent();
		}

		private bool PhoneNoSim()
		{
			if (SystemState.PhoneNoSim)
			{
				SignalShow(0);
				this.lbNoSIM.Text = "无SIM卡";
				this.lbNoSIM.Refresh();

				return true;
			}

			return false;
		}

		private int GetPhoneSignalStrength
		{
			get
			{
				return SystemState.PhoneSignalStrength;
			}
		}

		private void SignalShow(int signalVaule)
		{
			SetSignalShow(signalVaule);

			SystemState signalStrength = new SystemState(SystemProperty.PhoneSignalStrength);
			signalStrength.Changed += new ChangeEventHandler(PhoneSignalStrength_Changed);
		}

		private void PhoneSignalStrength_Changed(object sender, ChangeEventArgs e)
		{
			int signalVaule = (int)e.NewValue;
			
			SetSignalShow(signalVaule);
		}

		private void SetSignalShow(int signalVaule)
		{
			if (signalVaule == 100)
			{
				signalVaule -= 3;
			}

			this.lbSignalValue.Text = signalVaule.ToString() + "%";
			this.lbSignalValue.Refresh();

			this.pbSignal.Value = signalVaule;
			this.pbSignal.Refresh();
		}

		private void PowerBatteryStateCharging()
		{
			SetLbChargingText();

			SystemState batteryStateCharging = new SystemState(SystemProperty.PowerBatteryState);
			batteryStateCharging.Changed += new ChangeEventHandler(PowerBatteryStateCharging_Changed);
		}

		private void PowerBatteryStateCharging_Changed(object sender, ChangeEventArgs e)
		{
			SetLbChargingText();
		}

		private void SetLbChargingText()
		{
			if (SystemState.PowerBatteryState == BatteryState.Charging)
			{
				this.lbCharging.Text = "充电中";
				this.lbCharging.Refresh();
			}
			else
			{
				this.lbCharging.Text = "";
				this.lbCharging.Refresh();
			}
			
		}
		private void PowerShow()
		{
			
			string powerValue = SystemState.PowerBatteryStrength.ToString();

			SetPowerShow(powerValue);

			SystemState batteryStrength = new SystemState(SystemProperty.PowerBatteryStrength);
			batteryStrength.Changed += new ChangeEventHandler(PowerBatteryStrength_Changed);
		}


		private void PowerBatteryStrength_Changed(object sender, ChangeEventArgs e)
		{
			string powerValue = SystemState.PowerBatteryStrength.ToString();

			SetPowerShow(powerValue);
		}

		private void SetPowerShow(string powerValue)
		{
			SetShowPowerValue(powerValue);
		}

		private void SetShowPowerValue(string powerVaule)
		{
			switch (powerVaule)
			{
				case "VeryHigh":
					this.lbPowerValue.Text = "非常高";
					this.pbPower.Value = 5;
					break;

				case "High":
					this.lbPowerValue.Text = "高";
					this.pbPower.Value = 4;
					break;

				case "Medium":
					this.lbPowerValue.Text = "中";
					this.pbPower.Value = 3;
					break;

				case "Low":
					this.lbPowerValue.Text = "低";
					this.pbPower.Value = 2;
					break;

				case "VeryLow":
					this.lbPowerValue.Text = "非常低";
					this.pbPower.Value = 1;
					this.lbPowerValue.ForeColor = Color.Red;
					break;

				default:
					this.lbPowerValue.Text = "";
					this.pbPower.Value = 0;
					break;
			}

			this.lbPowerValue.Refresh();
			this.pbPower.Refresh();
		}

		private void Form1_GotFocus(object sender, EventArgs e)
		{

			if (!PhoneNoSim())
				SignalShow(GetPhoneSignalStrength);
			PowerShow();
			PowerBatteryStateCharging();
		}

		private void btnClose_Click(object sender, EventArgs e)
		{
			Application.Exit();
		}
	}
}

⌨️ 快捷键说明

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