Элемент MonthCalendar

Элемент MonthCalendar

Пространство имен System.Windows.Forms предлагает очень полезный элемент управления MonthCalendar, который дает пользователю возможность выбрать дату (или диапазон дат), используя дружественный интерфейс. Чтобы продемонстрировать этот элемент управления, обновим приложение CarConfig так, чтобы пользователь мог ввести дату доставки купленного транспортного средства. На рис. 21.14 показана обновленная (и слегка модифицированная в отношении размещения элементов) форма.

Элемент управления MonthCalendar имеет весьма широкие возможности, и с его помощью очень просто программно выполнить "захват" диапазона дат, выбранных пользователем. Поведением по умолчанию для этого типа является автоматический выбор (и выделение) текущей (сегодняшней) даты.

Рис. 21.14. Тип MonthCalendar

Чтобы получить выбранную в настоящий момент дату программно, можно обновить обработчик события Click для Button, как предлагается ниже.

private void btnOrder_Click(object sender, EventArgs e) {

 // Построение строки для отображения информации.

 string orderInfo = "";

 …

 // Получение даты доставки.

 DateTime d = monthCalendar.SelectionStart;

 string dateStr = string.Format("{0}.{1}.{2}", d.Day, d.Month, d.Year);

 orderInfo += "Машина должна быть доставлена " + dateStr;

 …

}

Обратите внимание на то, что информацию о выбранной в настоящий момент дате у элемента управления MonthCalendar можно запросить с помощью свойства SelectionStart. Это свойство возвращает ссылку DateTime, которая запоминается в локальной переменной. Используя свойства типа DateTime, можно извлечь нужную информацию в подходящем вам пользовательском формате.

В настоящий момент мы предполагаем, что пользователь указал только один день для доставки нового автомобиля. Но что делать, если вы хотите предоставить пользователю возможность выбора целого диапазона приемлемой даты доставки? В этом случае пользователю нужно просто "Протащить" указатель мыши через соответcтвующий диапазон дат. Вы уже видели, как можно получить начало диапазона выделения, используя свойство SelectionStart. Конец диапазона выделения можно определить с помощью свойства SelectiоnEnd. Вот как должен выглядеть программный код, модифицированный соответствующим образом.

private void btnOrder_Click(object sender, EventArgs e) {

 // Построение строки для отображения информации.

 string orderInfo = "";

 …

 // Получение диапазона дат доставки

 DateTime startD = monthCalendar.SelectionStart;

 DateTime endD = monthCalerdar.SelectionEnd;

 string.dateStartStr = string.Format("{0}.{1}.{2}", stаrtD.Day, startD.Month, startD.Year);

 string dabeEndStr = string.Format("{0}.{1}.{2}", endD.Daу, endD.Month, endD.Year);

 // Тип DateTime поддерживает перегруженные операции!

 if (dateStartStr != dateEndStr) {

  orderInfo += "Машина должна быть доставлена " + "c " + dateStartStr + "по " + dateEndStr;

 } else // Когда выбрано одно значение даты.

  orderInfo += "Машина должна быть доставлена " + dateStartStr;

 …

}

Замечание. Windows Forms содержит элемент управления DateTimePicker, который позволяет предложить MonthCalendar в раскрывающемся элементе управления DropDown.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Элемент

Из книги Windows Script Host для Windows 2000/XP автора Попов Андрей Владимирович

Элемент <?job?> Элемент <?job?> задает режим отладки при выполнении WS-файла. Если значение атрибута debug равно true, то задание может быть выполнено во внешнем отладчике (см. приложение 3). Если же значение атрибута debug равно false, то отладчик для этого задания применен быть не


Элемент

Из книги XSLT автора Хольцнер Стивен

Элемент <job> Элементы <job> позволяют определять несколько заданий (независимо выполняющихся частей) в одном WS-файле. Иначе говоря, между тегами <job> и </job> будет находиться отдельный сценарий (который, в свою очередь, может состоять из нескольких частей,


Элемент

Из книги Технология XSLT автора Валиков Алексей Николаевич

Элемент <example> Внутри элемента <example> приводится текст из одной или нескольких строк, в котором можно описать примеры запуска сценария. Если сценарий был запущен с ключом /? в командной строке или в сценарии встретился вызов метода ShowUsage объекта WshArguments, то этот текст


Элемент

Из книги Программирование КПК и смартфонов на .NET Compact Framework автора Климов Александр П.

Элемент <xsl:if> При помощи элемента <xsl:if> осуществляются проверки условия и принимаются действия на основе результата проверки. Он во многом похож на оператор if в языках программирования. У элемента <xsl:if> один атрибут:• test (обязательный). Устанавливается в


Элемент

Из книги Как спроектировать современный сайт автора Вин Чои

Элемент <xsl:for-each> Элемент <xsl:for-each> позволяет применять тело шаблона в цикле снова и снова для всех элементов набора узлов. С технической точки зрения, он работает с набором узлов, который возвращает выражение XPath и выполняет одно и то же действие с каждым узлом в


Элемент

Из книги HTML, XHTML и CSS на 100% автора Квинт Игорь


Элемент xsl:if

Из книги автора

Элемент xsl:if Синтаксис элемента следующий:<xsl:if test="выражение"> <!-- Содержимое: шаблон --></xsl:if>Элемент xsl:if является простейшим условным оператором в XSLT. Выражение, содержащееся в обязательном атрибуте test, вычисляется и приводится к булевому типу. В том и только том


Элемент Button

Из книги автора

Элемент Button Для создания обычной кнопки используется класс System.Windows.Forms.Button. Эта кнопка обладает всеми основными функциями, которые есть у такого же класса в полной версии .NET Framework. Кнопка предназначена для обработки нажатия стилуса на соответствующую область экрана. В


Элемент TextBox

Из книги автора

Элемент TextBox В предыдущем примере дата отображалась в текстовом поле. Это поле создается при помощи класса TextBox, который позволяет вводить текст. Данный элемент поддерживает такие стандартные свойства, как BackColor и ForeColor. Событие Click элементом TextBox не поддерживается, но


Элемент TrackBar

Из книги автора

Элемент TrackBar Элемент управления TrackBar предназначен для установки числового значения при помощи перемещения ползунка по числовой шкале. Основную работу с элементом разработчик выполняет при помощи свойств Minimum, Maximum и Value. Ползунок может располагаться как вертикально, так


Элемент MonthCalendar

Из книги автора

Элемент MonthCalendar Элемент управления MonthCalendar появился только в последней версии .NET Compact Framework 2.0. Данный элемент позволяет легко выбрать необходимую дату.Для создания тестового приложения на форме надо разместить элементы MonthCalendar и Label. Метка должна получить имя lblSelectDate, а


Элемент

Из книги автора

Элемент Элементы – это любые единичные компоненты структуры, например, заголовок, абзац текста, фотография или


Элемент

Из книги автора

Элемент Основой языка HTML является элемент. Он несет в себе определенную информацию, может описывать документ в целом или способ форматирования текста. Элементы можно назвать основой построения сайта. Все, что вы захотите создать на вашей странице, будет сделано с помощью