Практическое руководство. Использование элемента управления DocumentList
Обновлен: Ноябрь 2007
Если приложение основано на работе с файлами, можно использовать элемент управления DocumentList для отображения настроенного списка папок и файлов в папке "Мои документы". В этом имеется сходство с работой приложений Microsoft Pocket Word и Microsoft Pocket Excel. Элемент управления предоставляет пользователю следующие функциональные возможности:
Выбор, удаление, копирование, перемещение и переименование файлов и папок.
Сортировка по имени файла, дате или размеру.
Отправка файлов как вложений электронной почты.
Отправка файлов на другое устройство по инфракрасному соединению.
Чтобы реализовать элемент управления DocumentList
Создайте приложение Windows для карманного ПК с помощью DocumentList.
Укажите типы файлов, к которым можно обращаться с помощью свойства Filter.
Укажите изначально отображаемые файлы с помощью свойства FilterIndex.
Укажите папку по умолчанию с помощью свойства SelectedDirectory.
Предоставьте код для обработки события DocumentActivated.
Предоставьте код для обработки события DeletingDocument.
Предоставьте код для обработки события SelectedDirectoryChanged.
Пример
В этом примере задается в форму свойство Parent для элемента управления DocumentList, в результате чего он занимает всю клиентскую область формы. Если нужно занять меньшую область, его можно разместить в объекте Panel и указать длину. Ширина объекта DocumentList должна совпадать с шириной формы.
' Set up file extension filters for a
' DocumentList and set the initial folder
' to the Busines folder under My Documents.
Sub SetupDocList()
' Assumes an instance of DocumentList,
' documentList1, has been declared.
With DocumentList1
.Parent = Me
.Filter = " |*.*| |*.txt;*.xml| |*.pwi;*.pdt| " & _
"|*.pxl;*.psw| |*.jpg;*.gif;*.bmp| |*.wav;*.wmv;*.mpg;"
.FilterIndex = 0
.SelectedDirectory = "Business"
End With
End Sub
' Handle the DocumentedActivated
' event with code to open the file.
Private Sub DocList_DocumentActivated(ByVal sender As Object, _
ByVal docevent As Microsoft.WindowsCE.Forms.DocumentListEventArgs) _
Handles DocumentList1.DocumentActivated
StatusBar1.Text = "Activated: " & docevent.Path
' Add code to open the selected file.
End Sub
' Handle the DeletingDocument
' event with code to close the file.
Private Sub DocList_DeletingDocument(ByVal sender As Object, _
ByVal docevent As Microsoft.WindowsCE.Forms.DocumentListEventArgs) _
Handles DocumentList1.DeletingDocument
StatusBar1.Text = "Deleted: " & docevent.Path
' Add code to close any instances of the file.
End Sub
' Handle the SelectedDirectoryChanged
' event with code that sets the correct
' path for opening and closing files.
Private Sub DocList_SelectedDirectoryChanged( _
ByVal sender As Object, ByVal e As System.EventArgs) _
Handles DocumentList1.SelectedDirectoryChanged
StatusBar1.Text = "Folder: " & DocumentList1.SelectedDirectory
' Add code to access the selected folder to open and close files.
End Sub
// Set up file extension filters for a
// DocumentList and set the initial folder
// to the Busines folder under My Documents.
private void SetupDocList()
{
// Assumes an instance of DocumentList,
// documentList1, has been declared.
documentList1.Parent = this;
// Create event handlers for DocumentList events.
documentList1.DocumentActivated +=
new DocumentListEventHandler(this.OnDocActivated);
documentList1.SelectedDirectoryChanged +=
new EventHandler(this.OnFolderSel);
documentList1.DeletingDocument +=
new DocumentListEventHandler(this.OnDelDoc);
documentList1.Filter = " |*.*| |*.txt;*.xml| |*.pwi;*.pdt| " +
"|*.pxl;*.psw| |*.jpg;*.gif;*.bmp| |*.wav;*.wmv;*.mpg;";
documentList1.FilterIndex = 0;
documentList1.SelectedDirectory = "Business";
}
private void OnDelDoc(object obj, DocumentListEventArgs DocArgs)
{
statusBar1.Text += "Deleted: " + DocArgs.Path;
// Add code to close any instances of the file.
}
private void OnDocActivated(object obj, DocumentListEventArgs DocArgs)
{
statusBar1.Text = "Activated: " + DocArgs.Path;
// Add code to open the selected file.
}
private void OnFolderSel(object obj, EventArgs eventg)
{
statusBar1.Text = "Folder: " + documentList1.SelectedDirectory;
// Add code to access the selected folder to open and close files.
}
Компиляция кода
Для этого примера требуются ссылки на следующие пространства имен: