Die Community zu .NET und Classic VB.
Menü

FAQ 0121: Mit DriveCombo, DirList und FileList arbeiten

 von 

Frage 

Wie kann ich mittels DriveComboBox und DirListBox die Verzeichnisse eines ausgewählten Laufwerks darstellen?

Wie kann ich mittels DirListBox und FileListBox die Dateien eines ausgewählten Verzeichnisses darstellen?

Die hier gezeigten Quelltexte stammen von Kai Liebenau und von Helge Rex.

Verzeichnisse eines Laufwerks anzeigen  

Private Sub Drive1_Change()
    '   Verzeichnisse anzeigen
    Dir1.Path = Drive1.Drive
End Sub

Listing 1: Verzeichnisse anzeigen

Dateien eines Verzeichnisses anzeigen  

Private Sub Dir1_Click()
    '   Dateien im Verzeichnis anzeigen
    File1.Path = Dir1.List(Dir1.ListIndex)
End Sub

Listing 2: Dateien anzeigen

Verzeichnisliste öffnen und schließen  

Microsoft hat in der DirListBox keine Methode implementiert, mit der man das aktuelle Verzeichnis auf- und zuklappen kann. Der folgende Quelltext zeigt eine Möglichkeit, um dieses Manko auszugleichen.

'   Beispiel von Kai Liebenau
Private Sub Dir1_KeyDown(KeyCode As Integer, Shift As Integer)
    If Shift = 0 Then
        Select Case KeyCode
            Case vbKeyLeft 'Pfeil-Links
                If (Dir1.ListIndex >= 0) Then
                    Dir1.Path = Dir1.List(-1)
                Else
                    If (LenB(Dir1.List(Dir1.ListIndex - 1)) <> 0) Then
                        Dir1.Path = Dir1.List(Dir1.ListIndex - 1)
                    Else
                        Dir1.Path = Dir1.List(Dir1.ListIndex)
                    End If
                End If
                KeyCode = 0
                
            Case vbKeyRight 'Pfeil-Rechts
                If (Dir1.ListIndex >= 0) Then
                    Dir1.Path = Dir1.List(Dir1.ListIndex)
                End If
                KeyCode = 0
                
            Case vbKeyReturn 'Enter
                Dir1.Path = Dir1.List(Dir1.ListIndex)
                
        End Select
    End If
End Sub

Listing 3: Verzeichnis auf- und zuklappen

Ihre Meinung  

Falls Sie Fragen zu dieser FAQ haben, Ihre Erfahrung mit anderen Nutzern austauschen möchten oder auf eine Ergänzung hinweisen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.