| Элементы {Drive | Dir | File} ListBox. Краткое описание |
![]() Данные элементы управления обеспечивают наиболее простой доступ к файловой системе компьютера. Элемент DriveListBox служит для доступа к списку устройств, элемент DirListBox обеспечивает просмотр папок текущего устройства, элемент FileListBox отображает файлы, определенные значением элемента DirListBox. Когда пользователь выбирает различные устройства с помощью элемента DirListBox, программа переключается на новое устройство и модифицирует содержимое окна DirListBox. Аналогично, когда пользователь выбирает папку с помощью элемента управления DirListBox, программа переключается на выбранную папку и соответствующим образом модифицирует содержимое окна FileListBox. Чтобы соединить элементы управления, необходимо назначить соответствующие значения их свойствам. Чтобы отобразить в элементе DirListBox папки диска, необходимо гарантировать, что при каждом выборе друго диска свойство Path элемента DirListBox соответствовало свойству Drive элемента DriveListBox. Private Sub Drive1_Change() При каждом изменении текущей выборки элемента DirListBox необходимо установить свойство Path элемента FileListBox равным новому пути элемента DirListBox. Private Sub Dir1_Change() Данный код вы можете смело вставлять на форму при создании любого приложения с использованием компонентов DriveListBox/DirListBox/FileListBox. В данном примере добавлен обработчик ошибок при выборе устройства, доступ к которому нельзя получить (к примеру, когда вы пытаетесь подключиться к CD-Rom'у, а компакт-диска внутри привода нет). И еще мне хотелось бы обратить ваше внимание на пример, целиком использующий данные контролы - Рекурсивный перебор все подпапок в указанной папке
Dim DriveTmp As Integer Private Sub Dir1_Change() File1.Path = Dir1.Path End Sub Private Sub Drive1_Change() On Error GoTo ErrorHandler Dir1.Path = Drive1.Drive DriveTmp = Drive1.ListIndex Exit Sub ErrorHandler: Drive1.ListIndex = DriveTmp End Sub Private Sub Form_Load() DriveTmp = Drive1.ListIndex End Sub Private Sub Dir1_Click() With Dir1 .Path = .List(.ListIndex) End With End Sub
Источник: http://www.vbnet.ru/ |