private void button2_Click(object sender, EventArgs e) { BatteryLimitCheck batMon = new BatteryLimitCheck(); //Класс внутри которого реализован механизм проверки батареи string batteryCharge = batMon.CheckBattery().ToString(); string batteryChargingState = batMon.getInformation("chargestate"); lblEnergy.Text = batteryCharge; if (batteryChargingState.ToLower() == "online") { lblEnergy.Text += Environment.NewLine + "Статус: заряжается."; } else if (batteryChargingState.ToLower() == "offline") { lblEnergy.Text += Environment.NewLine + "Статус: не заряжается."; } }
//Передаются предельное нижнее значение заряда батареи и имя пользователя //Основная задача программы - мониторинг состояния батареи private void FormWorkState() { Hide(); string userName = tbUserName.Text; string percentStay = tbBateryPercentage.Text; string temperatureLimit = tbTemperatureLimit.Text; bool waitChargingOff = false; while (true) { if (!String.IsNullOrEmpty(percentStay.Trim())) { BatteryLimitCheck batMon = new BatteryLimitCheck(); //Класс внутри которого реализован механизм проверки батареи int limitPercents = Convert.ToInt32(percentStay); float currentPercents = batMon.CheckBattery(); string batteryCharge = batMon.getInformation("chargestate"); if (batteryCharge.ToLower() == "online" && !waitChargingOff) { string messageText = "Батарея подключена к питанию. Продолжить работу приложения при отключении зарядного устройства?"; string windowTitle = "Внимание " + userName + "!"; var result = MessageBox.Show(messageText, windowTitle, MessageBoxButtons.YesNo); if (result == System.Windows.Forms.DialogResult.Yes) { waitChargingOff = true; } else if (result == System.Windows.Forms.DialogResult.No) { Application.Exit(); } } if (currentPercents < limitPercents && batteryCharge.ToLower() == "offline") { this.TopMost = true; string messageText = "Осталось заряда на " + currentPercents + "%" + Environment.NewLine + "Для выхода из приложения нажмите Отмена или закройте окно." + Environment.NewLine + "Для продолжения работы приложения нажмите OK"; string windowTitle = "Внимание " + userName + "!"; var result = MessageBox.Show(messageText, windowTitle, MessageBoxButtons.OKCancel); if (result == System.Windows.Forms.DialogResult.OK) { Show(); } else if (result == System.Windows.Forms.DialogResult.Cancel) { Application.Exit(); } break; } } if (!String.IsNullOrEmpty(temperatureLimit.Trim())) { TemperatureLimitCheck tempCheck = new TemperatureLimitCheck(); int limitTemperature = Convert.ToInt32(temperatureLimit); int currentTemperature = Convert.ToInt32(tempCheck.CheckTemperature()); if (currentTemperature >= limitTemperature) { this.TopMost = true; string messageText = "Текущая температура " + currentTemperature + " превышает указанный максимум!" + Environment.NewLine + "Для выхода из приложения нажмите Отмена или закройте окно." + Environment.NewLine + "Для продолжения работы приложения нажмите OK"; string windowTitle = "Внимание " + userName + "!"; var result = MessageBox.Show(messageText, windowTitle, MessageBoxButtons.OKCancel); if (result == System.Windows.Forms.DialogResult.OK) { Show(); } else if (result == System.Windows.Forms.DialogResult.Cancel) { Application.Exit(); } break; } } } }