
- •Лабораторна робота №5-6. Тема: Робота з датою і часом. Елементи управління Timer, Monthcalendar та DateTimePicker.
- •Додавання і віднімання дати або часу
- •Визначення інтервалу між двома значеннями часу або датами
- •Частина дати
- •Поточні системні дата і час
- •Ще деякі методи та властивості
- •Створення таймерів
- •Використання об'єкту таймера для встановлення обмеження за часом
- •Приклад (основні кроки):
- •Виділення дат
- •Робота з календарем
- •6 Вересня 2010 року – понеділок
- •Отримувані значення
- •Варіанти індивідуальних завдань
Виділення дат
За допомогою наступних властивостей можна задати список дат, що виділяються напівжирним шрифтом при відображенні календаря:
AnnuallyBoldedDates – список дат, що повторюються щорічно (наприклад, дні народження);
BoldedDates – спісок окремих дат;
MonthlyBoldedDates - спісок дат, що повторюються щомісячно.
Додати в список нові значення і видалити з нього непотрібні можна за допомогою кнопок Add (Додати) або Remove (Видалити) діалогового вікна DateTimeCollectionEditor (Редактор списку дат), що відкривається натисненням кнопки з трьома крапками праворуч від відповідних властивостей, або за допомогою методів, вказаних в таблиці.
Властивість |
Метод додавання |
Метод видалення |
AnnuallyBoldedDates |
AddAnnuallyBoldedDate |
RemoveAnnuallyBoldedDate |
BoldedDates |
AddBoldedDate |
RemoveBoldedDate |
MonthlyBoldedDates |
AddMonthlyBoldedDate |
RemoveMonthlyBoldedDate |
Як параметр даних методів використовується об'єкт DateTime, що задає дату, що виділяється. Наприклад, за допомогою наступного коду можна виділити чий-небудь день народження в календарі:
Dim birthday As Date = New DateTime(2010, 4, 10)
Monthcalendarl.AddAnnuallyBoldedDate(birthday)
Робота з календарем
За допомогою властивостей MinDate і MaxDate вказується діапазон значень, що задаються елементом управління MonthCalendar. За замовчуванням ці властивості приймають мінімально і максимально можливі значення 01/01/1753 і 12/31/9998, відповідно.
Для задання максимального числа послідовно вибраних значень призначена властивість MaxSelectionCount. За умовчанням можна вибирати до семи днів, що йдуть підряд.
Для визначення першої або останньої дати з діапазону вибраних дат використовуються властивості SelectionStart І SelectionEnd. Ці властивості повертають об'єкт типу DateTime. За допомогою перерахованих нижче властивостей цього об'єкту можна визначити число, місяць, рік вибраної з календаря дати, а також день тижня і день року:
Day - день місяця;
DayOfWeek - день тижня;
DayOfYear - день року;
Month - номер місяця;
Year - рік.
Події DateChanged і DateSelected виникають при зміні вибраної в елементі управління дати і при виділенні дати відповідно. Як аргумент обидві події отримують об'єкт DateRangeEventArgs, властивості End і Start якого можна в даній події використовувати замість властивостей SelectionStart і SelectionEnd елементу управління MonthCalendar.
На малюнку показана форма, що містить елемент управління MonthCalendar, що дозволяє вибрати одну дату, і поля, що відображають вибрану з календаря дату, номер місяця і рік. Для відображення параметрів додаємо в код програми наступну процедуру обробки вибору дати з календаря:
Private Sub MonthCalendar1_DateSelected(ByVal sender As Object, ByVal e As System.Windows.Forms.DateRangeEventArgs) Handles MonthCalendar1.DateSelected
TextBox1.Text = e.Start.ToLongDateString
TextBox2.Text = e.Start.Day.ToString
TextBox3.Text = e.Start.Month.ToString
TextBox4.Text = e.Start.Year.ToString
End Sub
Для даного додатку замість процедури MonthCalendar1_DateSelected можна використати процедуру MonthCalendar1_DateChanged:
Private Sub MonthCalendar1_DateChanged(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DateRangeEventArgs) Handles MonthCalendar1.DateChanged
TextBox1.Text = MonthCalendar1.SelectionStart.ToLongDateString
TextBox2.Text = MonthCalendar1.SelectionStart.Day.ToString
TextBox3.Text = MonthCalendar1.SelectionStart.Month.ToString
TextBox4.Text = MonthCalendar1.SelectionStart.Year.ToString
End Sub
Елемент управління DateTimePicker
Елементом управління DateTimePicker (див мал.) є календарем, що розкривається, за допомогою якого можна вибрати дату. Для вибору значення в календарі спочатку необхідно його відкрити, натиснувши кнопку із стрілкою, розташовану з правого боку поля введення. Крім того, дату можна не тільки вибирати з календаря, що розкривається, але і вводити в текстове поле. Використання елементу управління DateTimePicker дозволяє заощадити місце у формі.
Зовнішній вигляд елементу управління
Для управління зовнішнім виглядом елементу управління DateTimePicker використовуються наступні властивості:
DropDownAllgn - положення календаря при його розкритті. Він може розташовуватися по правому або лівому краю текстового поля. За замовчуванням задано значення Left (По лівому краю);
Format - формат інформації, що відображається в текстовому полі. Може приймати наступні значення: Custom (Користувацький формат), Long (Довгий формат), Short (Короткий формат) і Time (Формат часу);
ShowCheckBox - при установці значення True зліва від дати в текстовому полі відображається прапорець. Якщо прапорець скинутий, то в текстове поле забороняється вводити дату і текст цього поля відображається сірим кольором. Якщо прапорець встановлений, дату можна змінювати. За умовчанням властивість приймає значення False;
ShowUpDown - при установці значення True замість кнопки із стрілкою вниз, що розкриває календар, з'являються дві кнопки з направленими в протилежні сторони стрілками, що дозволяють змінювати дату без використання календаря. За умовчанням встановлено значення False.
Властивість CustomFormat дозволяє за допомогою вказаних в таблиці символів задати власний формат представлення дати.
Символ |
Опис |
d, dd |
Визначає, в якому форматі відображатиметься день місяця. У першому випадку відображатимуться одна або дві цифри, в другому - завжди дві. Наприклад, число 1 в першому випадку відображатиметься як 1, а в другому - як 01 |
ddd, dddd |
Дозволяє відображати назву дня тижня або трьома символами, або цілком |
M, MM |
Задає відображення місяця числами. У першому випадку відображатимуться одна або дві цифри, в другому - завжди дві |
МММ, MMMM |
Дозволяє відображати назву місяця трьома символами або цілком |
У, УУ, УУУУ |
Задає число цифр року, що відображаються |
Наприклад, якщо властивості CustomFormat присвоїти значення d ММММ уууу року – dddd, а для властивості Format задати значення Custom, дата матиме наступний формат: