Также стоит прочитать статью «Using the DataGrid Control in Pocket PC Applications», которую можно найти в справочной системе MSDN. В этой статье иллюстрируются различные приемы программирования, которые помогут расширить возможности данного элемента.
Элемент Splitter
Элемент управления Splitter
появился только в .NET Compact Framework 2.0. В предыдущей версии его не было. Этот элемент реализует разделитель, который используется для изменения размеров закрепленных элементов управления во время выполнения программы. Элемент Splitter
обычно используется вместе с элементами управления, содержащими данные переменной длины.
Стоит рассмотреть работу данного элемента на конкретном примере. На форме следует расположить графическое поле PictureBox
и присвоить его свойству Dock
значение Top
. Затем на форме надо расположить объект Splitter
и его свойству Dock
тоже присвоить значение Top
. Также следует расположить на форме текстовое поле TextBox
. Его свойству Multiline
надо присвоить значение True
, а свойству Dock
— значение Fill
. Внешний вид получившегося приложения показан на рис. 3.17.
Рис. 3.17. Применение элемента Splitter в приложении
Даже без единой строчки написанного кода запущенное приложение будет вполне функционально. Если нужно увеличить область текстового поля для ввода новых данных, то достаточно нажать стилусом на разделителе и передвинуть его чуть выше.
Элемент MonthCalendar
Элемент управления MonthCalendar
появился только в последней версии .NET Compact Framework 2.0. Данный элемент позволяет легко выбрать необходимую дату.
Для создания тестового приложения на форме надо разместить элементы MonthCalendar
и Label
. Метка должна получить имя lblSelectDate
, а для свойства Text
нужно задать значение Выбранная дата
. Затем следует дважды щелкнуть на элементе monthCalendar1
, чтобы задать код обработчика события DateChanged
. Этот код приведен в листинге 3.26.
private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e) {
lblSelectDate.Text =
"Выбранная дата: " + monthCalendar1.SelectionStart.ToShortDateString();
}
Теперь можно запустить приложение и выбрать любую дату из месячного календаря. Выбранная дата будет автоматически отображаться в надписи lblSelectDate
, как показано на рис. 3.18.
Рис. 3.18. Выбираем дату из месячного календаря
Элемент DateTimePicker
Элемент управления DateTimePicker
также является новым элементом, который появился в .NET Compact Framework 2.0. Он позволяет выбирать не только дату, но и время.
На форме надо разместить элемент DateTimePicker
и две текстовые метки Label
, в которых будут отображаться дата и время. Затем нужно дважды щелкнуть на элементе DateTimePicker
, чтобы задать код обработчика события ValueChanged
. Этот код приведен в листинге 3.27.
private void dateTimePicker1_ValueChanged(object sender, EventArgs e) {
lblDate.Text = "Дата: " + dateTimePicker1.Value.ToShortDateString();
lblTime.Text = "Время: " + dateTimePicker1.Value.ToShortTimeString();
}
Внешний вид получившегося приложения показан на рис. 3.19.
Рис. 3.19. Выбор даты при помощи элемента DateTimePicker
В документации MSDN есть небольшая статья «How to: Use the DateTimePicker Class in the .NET Compact Framework», в которой приводится небольшой пример использования этого элемента. Поддержка данного элемента появилась и в смартфонах под управлением Windows Mobile 5.0. Но в этом случае внешний вид элемента будет несколько иным.
Элемент DocumentList
Новый элемент управления DocumentList
, который появился в .NET Compact Framework 2.0, может заменить такие элементы, как SaveFileDialog
и OpenFileDialog
, так как имеет все необходимые средства для работы с файлами. Помимо этого элемент DocumentList
имеет дополнительные возможности, которые наверняка понравятся разработчикам программ. Он позволяет очень просто реализовать основные задачи манипулирования файлами, к которым относятся копирование, удаление, переименование и перемещение файлов. С помощью этого элемента также можно сортировать файлы по имени, дате создания, размеру. Кроме того, существует даже возможность посылать файлы по электронной почте или передавать на другое устройство при помощи инфракрасной связи.
Элемент DocumentList
работает с файлами в пределах папки My Documents
, включая подпапки. Следует обратить внимание на то, что DocumentList
является классом из пространства Microsoft.WindowsCE.Forms
и не является частью полной версии .NET Framework. Поэтому есть смысл поближе познакомиться с данным элементом.
Для разработки тестового приложения сначала потребуется создать новый проект, а затем переместить на форму элемент DocumentList
. Для свойства Name
надо задать значение DocListFile
, свойство Dock
должно получить значение Top
, свойству Height
присваивается значение 160, а для свойства SelectedDirectory
задается значение My Documents
.
Также на форме надо разместить элементы ComboBox
и StatusBar
. Элементу ComboBox
надо присвоить имя cboFileType
. Затем следует выбрать свойство Items
и открыть окно редактора String Collection Editor
. Для списка надо задать значения BMP
и WAV
.
Затем нужно дважды щелкнуть на элементе ComboBox
, чтобы задать код обработчика события SelectedIndexChanged
. Код обработчика приведен в листинге 3.28.
private void cboFileType_SelectedIndexChanged(object sender, EventArgs e) {
if (cboFileType.Text = "BMP") {
docListFile.Filter = "Рисунки (*.bmp)|*.bmp";
docListFile.SelectedDirectory = "My Pictures";
} else {
docListFile.Filter = "Звуки (*.wav)|*.wav";
docListFile.SelectedDirectory = "My Music";
}
}
Данный код динамически меняет значение свойства Filter
элемента DocumentList
для отображения файлов определенного типа. Также меняется папка просмотра файлов. Если пользователь выберет расширение .BMP
, то следует выбрать папку My Pictures
, специально предназначенную для хранения картинок. При выборе типа файлов .WAV
выбирается папка My Music
.
Теперь следует дважды щелкнуть на элементе DocumentList
, чтобы создать обработчик события DocumentActivated
. Соответствующий код приведен в листинге 3.29.
private void docListFile_DocumentActivated(object sender,