public void getBatteryStatus() { var prePowerLineStatus = battery.GetPowerStatus(); while (true) { PowerLineStatus.Invoke(new Action(() => { PowerLineStatus.Text = battery.GetPowerLineStatus(); if ((battery.GetPowerStatus() == "Online") && (prePowerLineStatus == "Offline")) { prePowerLineStatus = "Online"; battery.SetDisplayBlackout(battery.GetDefaultScreenTime()); } } )); BatteryLifePercent.Invoke(new Action(() => BatteryLifePercent.Text = (battery.GetBatteryLifePercent() * 100).ToString() + '%')); BatteryLifeRemaining.Invoke(new Action(() => { if (battery.GetBatteryLifeReamaining() != -1) { BatteryLifeRemaining.Text = (battery.GetBatteryLifeReamaining() / 60).ToString() + " min."; } else { BatteryLifeRemaining.Text = "∞"; } } )); } }
/// <summary> /// <para>Returns the current Power status</para> /// </summary> /// <returns></returns> public static TreeNode GetStatus() { TreeNode tnMain = new TreeNode("Power"); tnMain.Nodes.Add("Active power scheme: " + ActivePowerScheme.Name + " (" + ActivePowerScheme.Guid.ToString() + ")"); tnMain.Nodes.Add("Power Line Status: " + PowerLineStatus.ToString()); tnMain.Nodes.Add("Battery charge status: " + BatteryChargeStatus.ToString()); tnMain.Nodes.Add("Battery available: " + BatteryAvailable.ToString()); tnMain.Nodes.Add("Battery full life time: " + BatteryFullLifetime.ToString()); tnMain.Nodes.Add("Battery remaining life time: " + BatteryLifeRemaining.ToString()); tnMain.Nodes.Add("Battery charge percent: " + BatteryLifePercent + "%"); return(tnMain); }