Статьи

C #. Демонстрація роботи елемента управління Timer

  1. зміст теоретичні відомості

зміст

теоретичні відомості

Іноді в додатках, що працюють в графічному інтерфейсі Windows, виникає необхідність відображення поточного часу доби (години: хвилини: секунди). Для реалізації цього завдання в апаратурі комп'ютера передбачений доступ до таймера.

Таймер призначений для отримання програмно-керованих тимчасових затримок і генерації функцій, які задають час. Таймер дозволяє формувати задані інтервали часу незалежно від швидкодії обчислювальної системи. За замовчуванням, операційна система Windows викликає переривання від таймера 18,2 рази за секунду.

Система Microsoft Visual Studio представляє для користувача елемент управління Timer, який реалізує виконання переривання від таймера.

Також за допомогою компонента Timer можна організувати паралельне виконання різних процесів в програмі.

В даному прикладі показано, як використовувати компонент Timer для виведення на формі поточного часу. Також показано як можна управляти таймером, зупиняючи і продовжуючи показ поточного часу.

виконання

1. Створення проекту за шаблоном Windows Forms Application.

Запустити MS Visual Studio. Створити проект по шаблону Windows Forms Application. Докладний приклад створення проекту за шаблоном Windows Forms Application описується тут .

2. Створення головної форми.

Створити форму, як показано на малюнку 1.

Розмістити на формі наступні компоненти:

  • компонент типу Label. Створюється об'єкт (екземпляр класу) з ім'ям label1;
  • два компонента типу Button. Створюється два об'єкти з іменами button1 і button2;
  • компонент типу TTimer (рисунок 1). Створюється об'єкт з ім'ям timer1.

Мал Мал. 1. Розміщення елемента управління типу Timer і інших елементів управління на формі

3. Налаштування компонент типу Label і Button.

Налаштувати такі властивості компонент Label і Button:

  • в елементі управління label1 властивість Text = "-";
  • в елементі управління button1 властивість Text = "Go";
  • в елементі управління button2 властивість Text = "Stop".

Якщо користувач зробить клік на кнопці button1 (початок відліку), годинник реального часу будуть включені. При кліці на кнопці button2 час буде зупинено.

Після настройки елементів управління форма буде мати вигляд як показано на малюнку 2.

Мал Мал. 2. Форма додатка після настройки елементів управління

4. Налаштування компонента типу Timer.

У компоненті Timer властивість Interval встановити в значення 100 (рисунок 3) або в будь-яке інше значення. Значення Interval вимірюється в мілісекундах. Interval задає частоту виклику обробника події, тобто частоту зміни значення годин реального часу.

Мал. 3. Властивість Interval елемента управління Timer

5. Програмування обробника події Tick.

В обробник події Tick вписується власний програмний код, який відображає годинник реального часу.

Лістинг обробника timer1_Tick () події Tick наступний:

private void timer1_Tick (object sender, EventArgs e){label1.Text = DateTime .Now.ToString ();}

У наведеному вище коді використані можливості класу DateTime, який має кошти для відображення поточного часу.

6. Програмування подій кліка на кнопках Button1 і Button2.

Для того, щоб час початок відображатися потрібно активізувати таймер. Для активації / деактивації таймера в елементі управління Timer використовується властивість Enabled.

Обробник події кліка на кнопці Button1 має вигляд:

private void button1_Click (object sender, EventArgs e){timer1.Enabled = true;}

Щоб зупинити таймер, потрібно властивість Enabled елемента управління Timer встановити в значення false.

private void button2_Click (object sender, EventArgs e){timer1.Enabled = false;}

7. Запуск програми на виконання.

Після запуску програми на виконання вікно форми матиме вигляд як зображено на малюнку 4.

Мал Мал. 4. Програма в режимі виконання

Якщо в програмі потрібно постійно відображати поточний час, тоді рядок

timer1.Enabled = true;

можна розмістити на початку завантаження форми (в конструкторі або в обробнику події Load).

Новости