C# C# Как сделать таймер?

triazov

Активный
Автор темы
266
58
Добрый вечер. Совсем недавно начал изучать C# и хотелось бы поработать с таймерами.

Суть вопроса: Надо реализовать в моем десктопном приложение следующее. Чтобы каждый час появлялся messagebox и если пользователь в течение минуты не нажал на окей. То компьютер выключается

Помогите с началом остальное сам все реализую в коде
 

Hideme Flow

Известный
573
199
C#:
using System;
using System.Threading;
using System.Windows.Forms;

namespace ShutdownApp
{
    class Program
    {
        static void Main(string[] args)
        {
            // Создаем таймер, который будет вызывать метод каждый час
            Timer timer = new Timer(TimerCallback, null, 0, 3600000); // 3600000 миллисекунд = 1 час

            Console.WriteLine("Приложение запущено. Нажмите любую клавишу для завершения.");
            Console.ReadLine();
        }

        static void TimerCallback(Object o)
        {
            // Вызываем метод показа сообщения в новом потоке, чтобы не блокировать основной поток
            Thread t = new Thread(new ThreadStart(ShowMessageBox));
            t.Start();
        }

        static void ShowMessageBox()
        {
            DialogResult result = MessageBox.Show("Выключить компьютер?", "Предупреждение", MessageBoxButtons.OKCancel);

            if (result == DialogResult.OK)
            {
                // Команда на выключение компьютера
                System.Diagnostics.Process.Start("shutdown", "/s /t 0");
            }
        }
    }
}