Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Winziges Problemchen mit FolderBrowserDialog

Frage Entwicklung VB for Applications

Mitglied: nippon-tussi

nippon-tussi (Level 1) - Jetzt verbinden

04.10.2011, aktualisiert 07:13 Uhr, 4448 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:

03d79c7b5fbed98b694b2e18b02b2872 - Klicke auf das Bild, um es zu vergrößern

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:

4eb4d1b745ee581b75290b6b3be8b2a9 - Klicke auf das Bild, um es zu vergrößern

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
Mitglied: Logan000
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.
Bitte warten ..
Mitglied: colinardo
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.
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.
 
Bitte warten ..
Mitglied: nippon-tussi
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!
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(1)

Tipp von agowa338 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...