Winziges Problemchen mit FolderBrowserDialog
Ich möchte im Verzeichnisbaum ein Unterverzeichnis automatisch aufklappen lassen.
Nach Zuweisung eines Pfades an FolderBrowserDialog.SelectedPath zeigt der FolderBrowserDialog z.B.folgendes an:
Wie man sieht, ist das vorher angegebene Verzeichnis korrekt selektiert (hier "B").
Ich möchte erreichen, dass der FolderBrowserDialog schon beim Aufruf von FolderBrowserDialog.ShowDialog(), also unmittelbar nach dem der FolderBrowserDialog auf dem Bildschirm angezeigt wird ohne Zutun des Benutzers (z.B. Cursor-rechts) auch die Unterverzeichnisse anzeigt.
Also so:
Wie kann ich das erreichen?
Ein paar Google-Stichworte oder Codefetzen, egal in welcher Sprache, würden mir schon helfen.
Danke fürs lesen, Tussi
Nach Zuweisung eines Pfades an FolderBrowserDialog.SelectedPath zeigt der FolderBrowserDialog z.B.folgendes an:
Wie man sieht, ist das vorher angegebene Verzeichnis korrekt selektiert (hier "B").
Ich möchte erreichen, dass der FolderBrowserDialog schon beim Aufruf von FolderBrowserDialog.ShowDialog(), also unmittelbar nach dem der FolderBrowserDialog auf dem Bildschirm angezeigt wird ohne Zutun des Benutzers (z.B. Cursor-rechts) auch die Unterverzeichnisse anzeigt.
Also so:
Wie kann ich das erreichen?
Ein paar Google-Stichworte oder Codefetzen, egal in welcher Sprache, würden mir schon helfen.
Danke fürs lesen, Tussi
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 174082
Url: https://administrator.de/contentid/174082
Ausgedruckt am: 22.11.2024 um 07:11 Uhr
3 Kommentare
Neuester Kommentar
Moin Moin
Nach kurzen drüberschaun, würde ich sagen das wird nichts.
Die Klasse gibt sowas nicht her.
Gruß L.
Nach kurzen drüberschaun, würde ich sagen das wird nichts.
Die Klasse gibt sowas nicht her.
Gruß L.
Du könntest den Dialog per SendKeys-Methode steuern.
Folgendes kannst du mit einer Form testen auf dem ein Button den FolderBrowserDialog aufruft.
Funktionsweise: Der Timer sucht nach dem Start nach einem Fenster mit dem Titel "Ordner suchen", falls er es findet, sendet er Tastaturanschläge an den Dialog um den Ordner aufzuklappen.
Folgendes kannst du mit einer Form testen auf dem ein Button den FolderBrowserDialog aufruft.
Funktionsweise: Der Timer sucht nach dem Start nach einem Fenster mit dem Titel "Ordner suchen", falls er es findet, sendet er Tastaturanschläge an den Dialog um den Ordner aufzuklappen.
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SetForegroundWindow Lib "user32" Alias "SetForegroundWindow" (ByVal hwnd As Long) As Integer
Dim WithEvents t1 As New Timer
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim fd As New FolderBrowserDialog
t1.Interval = 200
With fd
.SelectedPath = "C:\Windows"
t1.Start()
.ShowDialog()
t1.Stop()
End With
End Sub
Sub SendKeysToApplication(ByVal AppTitle As String, ByVal key As String)
Dim hWnd As Long = FindWindow(Nothing, AppTitle)
If hWnd <= 0 Then
'*** TO DO *** Fenster existiert nicht
Else
SetForegroundWindow(hWnd)
SendKeys.SendWait(key)
t1.Stop()
End If
End Sub
Private Sub t1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles t1.Tick
SendKeysToApplication("Ordner suchen", "{TAB}{TAB}{right}")
End Sub