Элемент DocumentList
Элемент 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.
Листинг 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.
Листинг 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