EDN Admin
Well-known member
<pre class="prettyprint" style=" using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication3
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
Dictionary<UInt16, string> StatusCodes;
private void Form1_Load(object sender, EventArgs e)
{
StatusCodes = new Dictionary<ushort, string>();
StatusCodes.Add(1, "The battery is discharging");
StatusCodes.Add(2, "The system has access to AC so no battery is being discharged. However, the battery is not necessarily charging");
StatusCodes.Add(3, "Fully Charged");
StatusCodes.Add(4, "Low");
StatusCodes.Add(5, "Critical");
StatusCodes.Add(6, "Charging");
StatusCodes.Add(7, "Charging and High");
StatusCodes.Add(8, "Charging and Low");
StatusCodes.Add(9, "Undefined");
StatusCodes.Add(10,"Partially Charged");
/* Set progress bar values and Properties */
progressBar1.Maximum = 100;
progressBar1.Style = ProgressBarStyle.Continuous;
timer1.Enabled = true;
ManagementObjectSearcher mos = new ManagementObjectSearcher("select * from Win32_Battery");
foreach (ManagementObject mo in mos.Get())
{
lblBatteryName.Text = mo["Name"].ToString();
UInt16 statuscode = (UInt16)mo["BatteryStatus"];
string statusString = StatusCodes[statuscode];
lblBatteryStatus.Text = statusString;
}
}
private void timer1_Tick(object sender, EventArgs e)
{
ManagementObjectSearcher mos = new ManagementObjectSearcher("select * from Win32_Battery where Name="+lblBatteryName.Text+"");
foreach (ManagementObject mo in mos.Get())
{
UInt16 statuscode = (UInt16)mo["BatteryStatus"];
string statusString = StatusCodes[statuscode];
lblBatteryStatus.Text = statusString;
/* Set Progress bar according to status */
if (statuscode == 4)
{
progressBar1.ForeColor = Color.Red;
progressBar1.Value = 5;
}
else if (statuscode == 3)
{
progressBar1.ForeColor = Color.Blue;
progressBar1.Value = 100;
}
else if (statuscode == 2)
{
progressBar1.ForeColor = Color.Green;
progressBar1.Value = 100;
}
else if (statuscode == 5)
{
progressBar1.ForeColor = Color.Red;
progressBar1.Value = 1;
}
else if (statuscode == 6)
{
progressBar1.ForeColor = Color.Blue;
progressBar1.Value = 100;
}
}
}
}
}
[/code]
<br/>
<br/>
<br/>
View the full article
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication3
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
Dictionary<UInt16, string> StatusCodes;
private void Form1_Load(object sender, EventArgs e)
{
StatusCodes = new Dictionary<ushort, string>();
StatusCodes.Add(1, "The battery is discharging");
StatusCodes.Add(2, "The system has access to AC so no battery is being discharged. However, the battery is not necessarily charging");
StatusCodes.Add(3, "Fully Charged");
StatusCodes.Add(4, "Low");
StatusCodes.Add(5, "Critical");
StatusCodes.Add(6, "Charging");
StatusCodes.Add(7, "Charging and High");
StatusCodes.Add(8, "Charging and Low");
StatusCodes.Add(9, "Undefined");
StatusCodes.Add(10,"Partially Charged");
/* Set progress bar values and Properties */
progressBar1.Maximum = 100;
progressBar1.Style = ProgressBarStyle.Continuous;
timer1.Enabled = true;
ManagementObjectSearcher mos = new ManagementObjectSearcher("select * from Win32_Battery");
foreach (ManagementObject mo in mos.Get())
{
lblBatteryName.Text = mo["Name"].ToString();
UInt16 statuscode = (UInt16)mo["BatteryStatus"];
string statusString = StatusCodes[statuscode];
lblBatteryStatus.Text = statusString;
}
}
private void timer1_Tick(object sender, EventArgs e)
{
ManagementObjectSearcher mos = new ManagementObjectSearcher("select * from Win32_Battery where Name="+lblBatteryName.Text+"");
foreach (ManagementObject mo in mos.Get())
{
UInt16 statuscode = (UInt16)mo["BatteryStatus"];
string statusString = StatusCodes[statuscode];
lblBatteryStatus.Text = statusString;
/* Set Progress bar according to status */
if (statuscode == 4)
{
progressBar1.ForeColor = Color.Red;
progressBar1.Value = 5;
}
else if (statuscode == 3)
{
progressBar1.ForeColor = Color.Blue;
progressBar1.Value = 100;
}
else if (statuscode == 2)
{
progressBar1.ForeColor = Color.Green;
progressBar1.Value = 100;
}
else if (statuscode == 5)
{
progressBar1.ForeColor = Color.Red;
progressBar1.Value = 1;
}
else if (statuscode == 6)
{
progressBar1.ForeColor = Color.Blue;
progressBar1.Value = 100;
}
}
}
}
}
[/code]
<br/>
<br/>
<br/>
View the full article