gelöst Winziges Problemchen mit FolderBrowserDialog
nippon-tussi (Level 1) - Jetzt verbinden
04.10.2011, aktualisiert 07:13 Uhr, 4606 Aufrufe, 3 Kommentare
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

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
3 Antworten
- LÖSUNG Logan000 schreibt am 04.10.2011 um 08:36:13 Uhr
- LÖSUNG colinardo schreibt am 04.10.2011 um 10:29:54 Uhr
- LÖSUNG nippon-tussi schreibt am 04.10.2011 um 12:55:59 Uhr
LÖSUNG 04.10.2011 um 08:36 Uhr
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.
LÖSUNG 04.10.2011 um 10:29 Uhr
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.
01.
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
02.
Private Declare Function SetForegroundWindow Lib "user32" Alias "SetForegroundWindow" (ByVal hwnd As Long) As Integer
03.
Dim WithEvents t1 As New Timer
04.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
05.
Dim fd As New FolderBrowserDialog
06.
t1.Interval = 200
07.
With fd
08.
.SelectedPath = "C:\Windows"
09.
t1.Start()
10.
.ShowDialog()
11.
t1.Stop()
12.
End With
13.
End Sub
14.
15.
Sub SendKeysToApplication(ByVal AppTitle As String, ByVal key As String)
16.
Dim hWnd As Long = FindWindow(Nothing, AppTitle)
17.
18.
If hWnd <= 0 Then
19.
'*** TO DO *** Fenster existiert nicht
20.
Else
21.
SetForegroundWindow(hWnd)
22.
SendKeys.SendWait(key)
23.
t1.Stop()
24.
End If
25.
26.
End Sub
27.
28.
Private Sub t1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles t1.Tick
29.
SendKeysToApplication("Ordner suchen", "{TAB}{TAB}{right}")
30.
End Sub
31.
32.
LÖSUNG 04.10.2011 um 12:55 Uhr
Ja, mit Sendkeys geht es ganz gut. Nicht wirklich elegant, aber für meine Zwecke reicht es.
Da FolderBrowserDialog.Showdialog unmittelbar auf t1.Start folgt und somit der Dialog ohnehin den Fokus hat, habe ich auf SendKeystoApplication verzichtet und rufe Sendkeys.Sendwait direkt in t1_tick auf.
Danke für den Tipp!
Da FolderBrowserDialog.Showdialog unmittelbar auf t1.Start folgt und somit der Dialog ohnehin den Fokus hat, habe ich auf SendKeystoApplication verzichtet und rufe Sendkeys.Sendwait direkt in t1_tick auf.
Danke für den Tipp!
Ähnliche Inhalte
Neue Wissensbeiträge
Heiß diskutierte Inhalte