Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по C#.doc
Скачиваний:
256
Добавлен:
08.11.2018
Размер:
5.81 Mб
Скачать
      1. Календарь MonthCalendar

Элемент управления Windows Forms MonthCalendar предоставляет пользователям понятный графический интерфейс для просмотра и задания сведений о дате.

Этот элемент управления выводит сетку, содержащую пронумерованные дни месяца, разбитые на столбцы по дням недели. Перейти к другому месяцу можно, нажав кнопку со стрелкой справа или слева от заголовка месяца. В отличие от аналогичного элемента управления DateTimePicker, данный элемент управления позволяет выделить диапазон дат; однако элемент управления DateTimePicker может использоваться для задания не только даты, но и времени.

Внешний вид элемента управления MonthCalendar можно настроить множеством способов. По умолчанию текущая дата обводится кружком, а также отмечается в нижней части сетки. Это используемое по умолчанию поведение можно изменить, присваивая свойствам ShowToday и ShowTodayCircle значение false. В календарь можно также добавить номера недель, задав для свойства ShowWeekNumbers значение true. С помощью свойства CalendarDimensions можно задать отображение нескольких месяцев по вертикали или по горизонтали. По умолчанию в качестве первого дня недели отображается воскресенье, но с помощью свойства FirstDayOfWeek любой день недели можно назначить первым.

Можно также задать единовременное, ежегодное или ежемесячное отображение полужирным шрифтом определенных дат, добавив объекты DateTime в свойства BoldedDates, AnnuallyBoldedDates и MonthlyBoldedDates.

Ключевым свойством элемента управления MonthCalendar является свойство SelectionRange, представляющее собой диапазон дат, выделенных в элементе управления. Значение SelectionRange не может превышать максимального количества дней, которые можно выделить, заданного в свойстве MaxSelectionCount. Самая ранняя и самая поздняя даты, которые может выбрать пользователь, определяются свойствами MaxDate и MinDate.

Изменение внешнего вида элемента управления MonthCalendar

Предусмотрено множество возможностей настройки внешнего вида элемента управления Windows Forms MonthCalendar. Например, предоставляется возможность выбора цветовой схемы, а также отображения или скрытия номеров недель или текущей даты.

Чтобы изменить цветовую схему календаря установите свойства TitleBackColor, TitleForeColor и TrailingForeColor. Свойство TitleBackColor также определяет цвет шрифта для дней недели. Свойство TrailingForeColor определяет цвет дат, предшествующих и следующих за отображаемым месяцем или месяцами.

monthCalendar1.TitleBackColor = System.Drawing.Color.Blue;

monthCalendar1.TrailingForeColor = System.Drawing.Color.Red;

monthCalendar1.TitleForeColor = System.Drawing.Color.Yellow;

Чтобы отобразить текущую дату внизу элемента управления установите для свойства ShowToday значение true. В приведенном ниже примере переключение между отображением и скрытием текущей даты происходит при выполнении двойного щелчка на форме.

private void Form1_DoubleClick(object sender, System.EventArgs e)

{ monthCalendar1.ShowToday = !monthCalendar1.ShowToday;}

Отображение более чем одного месяца в элементе управления MonthCalendar

Элемент управления Windows Forms MonthCalendar позволяет отображать на экране одновременно до 12 месяцев. По умолчанию в этом элементе управления отображается только один месяц, однако имеется возможность указать количество месяцев, которые будут отображаться на экране, и их размещение в данном элементе управления.

Чтобы отобразить несколько месяцев задайте для свойства CalendarDimensions значение, равное числу месяцев, отображаемых по горизонтали и вертикали.

monthCalendar1.CalendarDimensions = new System.Drawing.Size (3,2);

Отображение определенных дней полужирным шрифтом в элементе управления MonthCalendar

Элемент управления Windows Forms MonthCalendar позволяет отображать дни полужирным шрифтом, причем или в качестве отдельных дат, или на периодической основе. Это можно сделать, чтобы особо выделить определенные даты, например праздники и выходные.

Эта возможность реализуется с помощью трех свойств. Свойство BoldedDates содержит отдельные даты. Свойство AnnuallyBoldedDates включает даты, которые отображаются полужирным шрифтом каждый год. Свойство MonthlyBoldedDates включает даты, которые отображаются полужирным шрифтом каждый месяц. Каждое из этих свойств содержит массив объектов DateTime. Чтобы добавить даты в один из этих списков или удалить их оттуда, необходимо добавить или удалить объект DateTime.

Чтобы отобразить даты полужирным шрифтом

  1. Создайте объекты DateTime.

DateTime t1 = new DateTime(2001, 6, 10);

DateTime t2 = new DateTime(2001, 6, 17);

  1. Выделите отдельную дату полужирным шрифтом, вызвав метод AddBoldedDate, AddAnnuallyBoldedDate или AddMonthlyBoldedDate элемента управления MonthCalendar.

monthCalendar1.AddBoldedDate(t1);

monthCalendar1.AddBoldedDate(t2);

либо

Выделите полужирным шрифтом сразу несколько дат, создав массив объектов DateTime и присвоив его одному из этих свойств.

DateTime[] dt = {t1, t2};

monthCalendar1.BoldedDates = dt;

Чтобы отобразить даты обычным шрифтом

  1. Отмените выделение полужирным шрифтом отдельной даты и отобразите ее обычным шрифтом, вызвав метод RemoveBoldedDate, RemoveAnnuallyBoldedDate или RemoveMonthlyBoldedDate.

monthCalendar1.RemoveBoldedDate(t1);

monthCalendar1.RemoveBoldedDate(t2);

либо

Удалите все выделенные полужирным шрифтом даты из одного из трех списков, вызвав метод RemoveAllBoldedDates, RemoveAllAnnuallyBoldedDates или RemoveAllMonthlyBoldedDates.

monthCalendar1.RemoveAllBoldedDates();

  1. Обновите внешний вид шрифта, вызвав метод UpdateBoldedDates.

monthCalendar1.UpdateBoldedDates();