- •Лабораторна робота №5-6. Тема: Робота з датою і часом. Елементи управління Timer, Monthcalendar та DateTimePicker.
- •Додавання і віднімання дати або часу
- •Визначення інтервалу між двома значеннями часу або датами
- •Частина дати
- •Поточні системні дата і час
- •Ще деякі методи та властивості
- •Створення таймерів
- •Використання об'єкту таймера для встановлення обмеження за часом
- •Приклад (основні кроки):
- •Виділення дат
- •Робота з календарем
- •6 Вересня 2010 року – понеділок
- •Отримувані значення
- •Варіанти індивідуальних завдань
Використання об'єкту таймера для встановлення обмеження за часом
Ще одним цікавим застосуванням таймера є налаштування його на очікування заданого періоду часу і наступного дозволу або заборони якої-небудь дії. Це знову схоже на установку у вашій програмі секундоміра – ви встановлюєте властивість Interval на час бажаної затримки, а потім запускаєте годинник, встановивши властивість Enabled на значення True.
У наступній прикладі показано, як можна використовувати цей підхід для установки обмеження за часом для введення пароля. Паролем для цієї програми є слово "secret". Ця програма використовує таймер для власного закриття, якщо протягом 15 секунд не був введений правильний пароль. Така програма може стати частиною великого додатку. Ви також можете використовувати цю методику застосування таймера для відображення на екрані вітання або повідомлення про авторські права чи для повтору через деякий інтервал часу деякої події, такої, як збереження файлу на диск через кожні десять хвилин.
Приклад (основні кроки):
Форма додатку виглядає так:
Встановлені в програмі властивості наведені в таблиці:
Об’єкт
Властивість
Значення
Label1
Text
"Введіть свій пароль протягом 15 секунд"
TextBox1
PasswordChar
"*"
Text
пустий (empty)
Button1
Text
"Перевірити пароль"
Timer1
Enabled
True
Interval
15000
Form1
Text
"Пароль"
Код в процедурі Timer1_Tick:
MsgBox("Вибачте, час вийшов.")
End
Код в процедурі події Button1_Click:
If TextBox1.Text = "secret" Then
Timer1.Enabled = False
MsgBox("Ласкаво просимо в систему!")
End
Else
MsgBox("Вибачте, я вас не знаю.")
End If
Елементи управління MonthCalendar та DateTimePicker
У Visual Basic існують елементи управління MonthCalendar і DateTimePicker, що дозволяють працювати з датами. Об'єктом MonthCalendar є календар, за допомогою якого можна вибрати деякий діапазон дат. Елемент управління DateTimePicker має вигляд текстового поля з розташованою справа кнопкою, при натисненні якої відкривається календар. Цей елемент управління, як правило, використовують для економії місця на формі і при виборі однієї дати.
Елемент управління MonthCalendar
Елемент управління MonthCalendar – це календар, за допомогою якого можна вибирати дату. У його верхній частині розташовані кнопки із стрілками, що дозволяє переміщуватися по місяцях. За замовчуванням в нижній частині календаря відображається поточна дата.
Зовнішній вигляд елементу управління
Для управління зовнішнім виглядом календаря застосовуються наступні властивості:
ShowToday - значення за замовчування True дозволяє відображати в нижній частині календаря поточну дату;
ShowTodayCircle - значення за замовчуванням True задає виділення поточної дати;
ShowWeekNumbers – при встановленні значення True з лівого боку календаря відображається стовпець з номерами тижнів. За замовчуванням встановлено значення False;
ScrollChange – визначає крок, з яким здійснюватиметься прокрутка календаря при натисненні кнопок переміщення по місяцях. За замовчуванням встановлено послідовне переміщення по всіх місяцях.
Перераховані в таблиці властивості дозволяють змінити використовувані за замовчуванням кольори розділів календаря.
Властивість |
Опис |
ForeColor |
Задає колір днів місяця і лінії, розташованої під днями тижня |
BackColor |
Задає колір фону області, на якій розташовані дні місяця |
TitleBackColor |
Задає колір області заголовку календаря, в якій розташовані назви місяця, а також колір днів тижня |
TitleForeColor |
Задає колір назви місяця і року |
TrailingForeColor |
Задає колір днів не поточного місяця, якщо вони відображаються в календарі |
У формі можна відобразити одночасно декілька місяців, задавши число рядків і стовпців в календарі за допомогою властивості CalendarDimensions. При цьому відобразити можна не більше 12 місяців. На малюнку показаний календар з шістьма місяцями, розташованими в два ряди і три колонки.
Для визначення дня тижня, що відображається першим в календарі, служить властивість FirstDayOfWeek. Наприклад, щоб першим відображалося неділя, треба задати для цієї властивості значення Sunday.