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,
Microsoft.WindowsCE.Forms.DocumentListEventArgs e) {
statusBar1.Text = e.Path;
// работа с выбранным файлом
}
Перед началом тестирования стоит скопировать несколько соответствующих файлов в папки My Pictures
и My Music
. После запуска программы нужно перейти в поле со списком и выбрать тип файлов. После этого будет активирован элемент DocumentList
с выбранной папкой. Из списка документов можно будет выбрать конкретный файл.
Следует обратить внимание на то, что выбранный файл имеет контекстное меню при помощи которого можно выполнять базовые операции с файлом (рис. 3.20). Путь к выбранному файлу отображается в строке состояния.
Рис. 3.20. Выбор файла при помощи элемента DocumentList
Элемент Notification
Еще один новый элемент управления, который появился в последней версии .NET Compact Framework 2.0, носит имя Notification
. Данный элемент управления позволяет отображать интерактивные сообщения. В документации по данному элементу приводится довольно интересный пример с использованием HTML-текста. Но в книге можно ограничиться более наглядным примером.
Для создания тестового примера нужно переместить на форму элементы Notification
и Button
. При нажатии на кнопку необходимо отобразить соответствующее сообщение. Это реализуется при помощи кода, приведенного в листинге 3.30.
private void button1_Click(object sender, EventArgs e) {
notification1.Text = "Позвони родителям!";
notification1.Caption = "Демонстрация примера";
notification1.Critical = true;
// Уведомление висит на экране 10 секунд
notification1.InitialDuration = 10;
notification1.Visible = true;
}
На рис. 3.21 показано сообщение, которое будет отображаться на экране КПК в течение 10 секунд.
Рис. 3.21. Вывод сообщения с помощью элемента Notification
Элемент Notification применяется только в приложениях для карманных компьютеров. Смартфоны его не поддерживают.
Элемент HardwareButton
На карманных компьютерах кроме клавиш навигации присутствуют также дополнительные кнопки, при помощи которых активируются часто запускаемые приложения. Как правило, в состав программного обеспечения КПК входит утилита, с помощью которой можно назначить каждой из этих кнопок определенные команды. Но можно представить ситуацию, когда для создаваемой игры нужно, чтобы управление осуществлялось с помощью этих кнопок. Тогда необходимо переопределить на время поведение кнопок в вашем приложении. И сделать это можно с помощью элемента HardwareButton
, который появился в .NET Compact Framework 2.0.
Следует рассмотреть пример использования этого нового элемента. Прежде всего нужно создать новый проект и поместить на панели Component tray
два элемента HardwareButton
с именами hrdLeftRotate
и hrdRightRotate
. Для каждой переопределяемой кнопки необходимо создать свой экземпляр элемента HardwareButton
. В рассматриваемом примере будут переопределяться вторая и третья кнопки.