C#

Программа авто выключения компьютера в указанное время

Программа авто выключения компьютера в указанное время

Программа для автоматического выключения компьютера. Задаете время и дату когда хотите что бы компьютер отключился.

using System;
using System.Windows.Forms;

namespace avtoVikluchenieVUkazannoeVremia
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        DateTime dataZapuska;   //переменная для хранения даты запуска
        DateTime dataVikluchenia;   //переменная для хранения даты выключения
        int chas;   //переменная для хранения часа выключения
        int min;   //переменная для хранения минут выключения

        //обработчик нажатия на кнопку
        private void buttonStart_Click(object sender, EventArgs e)
        {
            //конвертирование веденных данных в тип "int" и запись в переменные
            chas = Convert.ToInt32(textVvodChas.Text);
            min = Convert.ToInt32(textVvodMin.Text);

            dataZapuska = DateTime.Now;   //записываем текущую дату
            //запись выбранной даты и добавления введенного времени
            dataVikluchenia = monthCalendar.SelectionStart.AddHours(chas).AddMinutes(min);   

            //обновление информации о датах и времени запуска и выключения
            labelInfoVremiaZapuska.Text = "Запуск:   " + Convert.ToString(dataZapuska);
            labelInfoVremiaVikluchenia.Text = "Выключ.: " + Convert.ToString(dataVikluchenia);

            //запуск таймера
            timer.Start();
        }

        //обработчик таймера
        private void timer_Tick(object sender, EventArgs e)
        {
            //создание интервала времени
            TimeSpan otrezokVremeni = dataVikluchenia - DateTime.Now;

            //логический оператор если-иначе
            //если условие выполняется то закрыть окно
            if (dataVikluchenia <= DateTime.Now)
            {
                Close();   //закрыть окно
            }
            //в противном случае выводим информацию о времени завершения
            else
            {
                labelInfoVremiaOstalos.Text = "Отключение через:\n"
                + otrezokVremeni.Days + " д. "
                + otrezokVremeni.Hours + " час. "
                + otrezokVremeni.Minutes + " мин. "
                + otrezokVremeni.Seconds + " сек.";
            }
        }
    }
}