Как сделать таймер в c windows forms
TrackBar представляет собой элемент, который с помощью перемещения ползунка позволяет вводить числовые значения.

Некоторые важные свойства TrackBar:
- Orientation : задает ориентацию ползунка — расположение по горизонтали или по вертикали
- TickStyle : задает расположение делений на ползунке
- TickFrequency : задает частоту делений на ползунке
- Minimum : минимальное возможное значение на ползунке (по умолчанию 0)
- Maximum : максимальное возможное значение на ползунке (по умолчанию 10)
- Value : текущее значение ползунка. Должно находиться между Minimum и Maximum
Свойство TickStyle может принимать ряд значений:
- None : деления отсутствуют
- Both : деления расположены по обеим сторонам ползунка
- BottomRight : у вертикального ползунка деления находятся справа, а у горизонтального — снизу
- TopLeft : у вертикального ползунка деления находятся слева, а у горизонтального — сверху (применяется по умолчанию)
К наиболее важным событиям элемента следует отнести событие Scroll , которое позволяет обработать перемещение ползунка от одного деления к другому. Что может быть полезно, если нам надо, например, устанавливать соответствующую громкость звука в зависимости от значения ползунка, либо какике-нибудь другие настройки:
public partial class Form1 : Form < public Form1() < InitializeComponent(); // установка обработчика события Scroll trackBar1.Scroll+=trackBar1_Scroll; >private void trackBar1_Scroll(object sender, EventArgs e) < label1.Text = String.Format("Текущее значение: ", trackBar1.Value); > >

Timer
Timer является компонентом для запуска действий, повторяющихся через определенный промежуток времени. Хотя он не является визуальным элементом, но его аткже можно перетащить с Панели Инструментов на форму:

Наиболее важные свойства и методы таймера:
- Свойство Enabled : при значении true указывает, что таймер будет запускаться вместе с запуском формы
- Свойство Interval : указывает интервал в миллисекундах, через который будет срабатывать обработчик события Tick, которое есть у таймера
- Метод Start() : запускает таймер
- Метод Stop() : останавливает таймер
Для примера определим простую форму, на которую добавим кнопку и таймер. В файле кода формы определим следующий код:
public partial class Form1 : Form < int koef = 1; public Form1() < InitializeComponent(); this.Width = 400; button1.Width = 40; button1.Left = 40; button1.Text = ""; button1.BackColor = Color.Aqua; timer1.Interval = 500; // 500 миллисекунд timer1.Enabled = true; button1.Click += button1_Click; timer1.Tick += timer1_Tick; >// обработчик события Tick таймера void timer1_Tick(object sender, EventArgs e) < if (button1.Left == (this.Width-button1.Width-10)) < koef=-1; >else if (button1.Left == 0) < koef = 1; >button1.Left += 10 *koef; > // обработчик нажатия на кнопку void button1_Click(object sender, EventArgs e) < if(timer1.Enabled==true) < timer1.Stop(); >else < timer1.Start(); >> >
Здесь в конструкторе формы устанавливаются начальные значения для таймера, кнопки и формы.
Через каждый интервал таймера будет срабатывать обработчик timer1_Tick , в котором изменяется положение кнопки по горизонтали с помощью свойства button1.Left . А с помощью дополнительной переменной koef можно управлять направлением движения.
Кроме того, с помощью обраотчика нажатия кнопки button1_Click можно либо остановить таймер (и вместе с ним движение кнопки), либо опять его запустить.

Индикатор прогресса ProgressBar
Элемент ProgressBar служит для того, чтобы дать пользователю информацию о ходе выполнения какой-либо задачи.

Наиболее важые свойства ProgressBar:
- Minimum : минимальное возможное значение
- Maximum : максимальное возможное значение
- Value : текущее значение элемента
- Step : шаг, на который изменится значение Value при вызове метода PerformStep
Для имитации работы прогрессбара поместим на форму таймер и в коде формы определим следующий код:
public partial class Form1 : Form < public Form1() < InitializeComponent(); timer1.Interval = 500; // 500 миллисекунд timer1.Enabled = true; timer1.Tick += timer1_Tick; >// обработчик события Tick таймера void timer1_Tick(object sender, EventArgs e) < progressBar1.PerformStep(); >>
Как сделать таймер в Windows Forms?

1. Берем текущее время и прибавляем к нему 5 минут и сохраняем в переменную.
2. Включаем таймер с интервалом в 1/2 секунды, чтобы уменьшить лаг.
3. При каждом срабатывании таймера, берем текущее время и вычитаем его из сохраненной переменной. Получившееся значение типа TimeSpan выводим в label с нужным форматированием.
4. Если текущее время больше сохраненного в переменной вырубаем таймер, так как достигли результата.
Ответ написан более трёх лет назад
Программирование на C, C# и Java
Уроки программирования, алгоритмы, статьи, исходники, примеры программ и полезные советы
ОСТОРОЖНО МОШЕННИКИ! В последнее время в социальных сетях участились случаи предложения помощи в написании программ от лиц, прикрывающихся сайтом vscode.ru. Мы никогда не пишем первыми и не размещаем никакие материалы в посторонних группах ВК. Для связи с нами используйте исключительно эти контакты: vscoderu@yandex.ru, https://vk.com/vscode
Исходный код: таймер на C# в Windows Forms
Разбираем создание таймера на языке программирования C# в приложении Windows Forms. Полный исходный код с подробными комментариями можно будет скачать внизу страницы.
Для начала в Windows Forms создаём внешнюю оболочку программы. У нас она выглядит вот так:

Здесь у нас 8 Label’ов, 3 TextBox’a, 3 Buttom’a и сам Timer.
Примечание: при переносе элемента Timer в форму, на неё ничего не появляется. Лишь в нижней части окна программы под формой появляется значок , не пугайтесь.
Щёлкнем на значок таймера и в окне «Свойства» в группе «Поведение» устанавливаем значение параметра Interval равным 1000. Данный параметр определяет длину тика таймера в миллисекундах, указав 1000, мы сделали один тик равным одной секунде.
После оформления и настройки приступаем к коду. Вводим целочисленные переменные h — часы, m- минуты, s — секунды.
Затем дважды щёлкаем мышью на кнопке «Старт» и переходим на участок кода, отвечающий за клик на эту кнопку.
Туда мы пишем следующий код:
Как сделать таймер в Windows Forms?
Напишите это все кодом
Есть кнопка,таймер и label(куда будет выводиться отсчет времени)
Нужно по нажатию на кнопку запускался таймер на 5 минут
и в label выводился посекундный вычет и так пока время не истечет
когда время истекло выводится сообщение:»Время вышло!»
- Вопрос задан более трёх лет назад
- 8698 просмотров
4 комментария
Простой 4 комментария

Foggy Finder @FoggyFinder
Не совсем понятно с чем возникли сложности? Запустить таймер по нажатию на кнопку?
goldolov_na @goldolov_na Автор вопроса
goldolov_na @goldolov_na Автор вопроса
Foggy Finder, вообще не понимаю как это делается
goldolov_na @goldolov_na Автор вопроса
Foggy Finder, тем более не только таймер,а как отсчет сделать и чтобы это в label записывалось?
Решения вопроса 1

Front-end разработчик
Вариант 1 — запускаете два таймера, один с интервалом 1 секунда, который будет менять значения с label, второй с интервалом 5 минут, который будет отключать оба таймера, и писать сообщение.
Вариант 2 — запускаете таймер, сразу запоминаете текущее время в отдельную переменную, и каждую секунду сравниваете это значение с текущем временем, если разница будет 5 минут, то останавливаете таймер и выводите сообщение.