вентилятор
Хорошего настроения!

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



Сегодня напишем программу выключения компьютера на C#.


Иногда нужно выключить компьютер через какое-то время. Например, Вы легли спать и хотите послушать какой-нибудь ролик на ютубе, пока засыпаете. После того как завершится ролик, лучше выключить компьютер, чтобы он не работал всю ночь. Для этого и предназначена наша программа.


Эта разработка будет перекликаться с программой "Будильник", которую мы недавно программировали.


Внешний вид будет такой:


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

Приступим к созданию интерфейса.


Открываем Visual Studio. Создаём новый проект "Приложение Windows Forms (.NET Framework)". Зададим свойства для самой формы. Свойство Text: "Выключение компьютера", это название самой формы, которое мы видим в верху. Свойство Size: 800, 500. Это размеры нашего окна. Свойство StartPosition: CenterScreen, чтобы программа запускалась по центру экрана. Свойство MaximizeBox: Fasle (запретим разворачивать окно на весь экран). Свойство FormBorderStyle: FixedSingle (запрещаем менять размеры формы).





Нажмём на панель инструментов. Выберем элемент Label и перенесём на форму. Изменим свойства - Text: "выключение произойдёт через", Font: размер на 16pt. После этого можно узнать размер этого компонента lable. Посмотрим свойство Size. Ширина получилась равна 425. Рассчитаем, чтобы вывеска программы раположилась посередине: (800 - 425) / 2 = 187. Т.е. с левого края отступим 187 пикселей. Установим свойство Location: 187, 48.


Программа выключения компьютера на C# - вывеска

Перенеcём три элемента TextBox. Все элементы будут иметь одинаковые свойства, кроме Location. Font: шрифт в 16 pt, свойство - Size: 100, 38, свойство TextAlign: Center. Location: для textBox1 150; 152, для textBox2 350; 152, для textBox3 550; 152. Таким образом, элементы равномерно разместились в нашем окне. Данные для локации всех элементов легко вычисляются, т.к. мы знаем их размеры и знаем размер окна.


Так же к каждому TextBox'у справа прикрепляем элементы Label. Пишем в каждом Label'e Ч, М, С соответственно.





Свойство Font у Label'ов: размер устанавливаем в 14pt. Совойство Text устанавливаем соответственно в Ч, М, С. Расположение можно установить вручную на одинаковой высоте и на одинковом расстоянии от TextBox'ов.


Программа выключения компьютера на C# - textbox-ы

Добавим на форму кнопку (элемент Button).


Для кнопки название (свойство Text): "Запустить". Размеры (Size): 200, 52. Расположение (Location): 300, 293.


Приступаем к программированию. Нажимаем F7 и переходим к коду.


В самом начале класса Form заводим переменные для каждого текстового поля соответственно.


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

Мы хотим, чтобы в начале в каждом текстовом поле был ноль.


Все переменные делаем закрытыми private.





Выделяем форму. В окне свойств переходим на значок событий (иконка в виде молнии). Ищем событие Load (загрузка формы). Кликаем два раза на ячейку справа от этого события. Visual Studio автоматически создаст функцию обработчика события загрузки формы в коде. Там пропишем код:


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

Нам нужно, чтобы в текствые поля (textBox) можно было писать только цифры. Пропишем для элементов TextBox событие KeyPress (нажатие клавиши т.е. изменение значения Textbox):


Программа будильник на C# - вводить в TextBox можно только цифры

В конце функции прописано e.Handled = true. Если мы дойдём до этой строчки, то нажатие клавиши заблокируется, т.е. при нажатии клавиши в этом поле ничего не произойдёт. Если пользователь ввёл цифры и при этом количество этих цифр в TextBox'е равно 0 или 1, то мы прописываем return (выход из функции обработчика события), тем самым, избежим блокировки нажатия. Мы ждём от пользователя только цифры, и количество этих цифр не может превышать двух в любом из TextBox'ов.





Так же мы разрешаем нажимать клавишу Backspace, за это отвечает второе условие. Если клавиши "легальны", то выходим из функции и блокировка события не происходит, в остальных случаях нажатие клавиши будет проигнорировано.


Тоже самое сделаем и для остальных TextBox'ов. Только заменим в пободных функциях имена на textBox2 и textBox3 соответственно.


Создадим аналогичным образом обработчик события Click для кнопки "Запустить". Эта кнопка должна запускать таймер. Из панели элементов кинем на форму таймер (Timer).


Программа будильник на C# - обработчик нажатия кнопки

Если сейчас кнопка называется "Запустить", значит, при нажатии запускается таймер, и кнопка меняет название на "Стоп". Если же кнопка назвается "Стоп", то она останавливает таймер, и название кнопки меняется снова на "Заменить".





Пропишем настройки для таймера в функции Form1.


Программа выключения компьютера на C# - настройка таймера

Функция Timer1_Tick должна запускаться каждую секунду. Эту функцию тоже пропишем внутри класса Form.


Что напишем в этой функции? Она должна считать в обратном порядке. Берём секунды, если там не ноль, то нужно уменьшить значение на 1. Иначе, уменьшаем на единицу минуты, но в секундах устанавливаем 59, и так же делаем с часами.


Программа выключения компьютера на C# - Функция таймера

Как только в текстовых полях будут все нули, запускается функция выключения компьютера Shutdown(). Мы её должны сами написать. Возьмём код из интернета.


Программа выключения компьютера на C# - Функция выключения

Чтобы она нормально заработала, нужно в начале дописать "using System.Management;". А так же сделать Проект->Добавить ссылку->Сборки и поставить галочку на System.Management.





При нажатии кнопки "Запустить", проверим, чтобы в поле секунды было значение меньше 59. И в поле минуты так же должно быть ограничение, чтобы значение было меньше 59. А так же проверим все три поля, чтобы они не были пустыми. Важно в начале проверить на пустоту строчку, а потом переводить её в целый тип данных, иначе может быть ошибка.


Пропишем в функцию button1_Click


Программа выключения компьютера на C# - ограничения для секунд и минут


Пока идёт отсчёт, нужно заблокировать textBox'ы, чтобы нельзя было редактировать их. Пропишем свойство ReadOnly.


Программа выключения компьютера на C# - свойство ReadOnly

Наша программа готова! Вы её можете скачать по ссылке ниже. Так же можете купить проект данной программы за 600 499 рублей, если лень самим набирать вручную.


Успехов!


Купить проект данной программы

Стоимость: 600 499 рублей.

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





31-08-2022 в 09:02:47





Поддержать сайт:


Похожая статья:

Аналоговые часы на C#

В этой статье мы создадим аналоговые часы на C# в Windows Forms....

Категория: C#  Подкатегория: -
Дата: 06-08-2021 в 10:09:51 4


Комментарии:

Shutdown: member names cannot be the same as their enclosing type
Хуршед 25-02-2023 в 14:02:55



Оставить коментарий:



Напишите email, чтобы получать сообщения о новых комментариях (необязательно):


Задача против робота. Расположите картинки горизонтально:




Нажимая кнопку Отправить, Вы соглашаетесь с политикой конфиденциальности сайта.