Как сделать таймер в c windows forms
Перейти к содержимому

Как сделать таймер в c windows forms

  • автор:

Как сделать таймер в c windows forms

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

Элемент TrackBar в Windows Forms

Некоторые важные свойства 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); > >

Перемещение ползунка в Windows Forms

Timer

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

Timer в Windows Forms

Наиболее важные свойства и методы таймера:

  • Свойство 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 в Windows Forms

Наиболее важые свойства 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?

petermzg

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 создаём внешнюю оболочку программы. У нас она выглядит вот так:

таймер на C# в Windows Forms - vscode.ru

Здесь у нас 8 Label’ов, 3 TextBox’a, 3 Buttom’a и сам Timer.

Примечание: при переносе элемента Timer в форму, на неё ничего не появляется. Лишь в нижней части окна программы под формой появляется значок , не пугайтесь.

Щёлкнем на значок таймера и в окне «Свойства» в группе «Поведение» устанавливаем значение параметра Interval равным 1000. Данный параметр определяет длину тика таймера в миллисекундах, указав 1000, мы сделали один тик равным одной секунде.

После оформления и настройки приступаем к коду. Вводим целочисленные переменные h — часы, m- минуты, s — секунды.

Затем дважды щёлкаем мышью на кнопке «Старт» и переходим на участок кода, отвечающий за клик на эту кнопку.

Туда мы пишем следующий код:

Как сделать таймер в Windows Forms?

Напишите это все кодом
Есть кнопка,таймер и label(куда будет выводиться отсчет времени)
Нужно по нажатию на кнопку запускался таймер на 5 минут
и в label выводился посекундный вычет и так пока время не истечет
когда время истекло выводится сообщение:»Время вышло!»

  • Вопрос задан более трёх лет назад
  • 8698 просмотров

4 комментария

Простой 4 комментария

FoggyFinder

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

Vlad_IT

Front-end разработчик

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *