//Передаются предельное нижнее значение заряда батареи и имя пользователя //Основная задача программы - мониторинг состояния батареи 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; } } } }
private void button1_Click(object sender, EventArgs e) { TemperatureLimitCheck tempCheck = new TemperatureLimitCheck(); lblTemperature.Text = tempCheck.CheckTemperature().ToString(); }