2012-09-14 9 views
6

Quindi ho una finestra di dialogo del browser delle cartelle e sto avendo problemi con il percorso selezionato.FolderBrowserDialog che mostra il problema SelectedPath

Quindi voglio che la cartella precedente che è stata aperta sia selezionata, e voglio che venga fatta scorrere verso il basso in modo che la cartella precedente sia visibile.

Ora la cosa strana è che questo funziona bene, ma solo qualche volta. È completamente casuale. Il percorso è sempre evidenziato, ma non sempre scorre verso il basso.

A volte quando avvio il debug e faccio clic su Sfoglia, si aprirà e scorrerà verso il basso dove preferisco. Quindi faccio clic su OK, faccio nuovamente clic su Sfoglia ed è del tutto casuale se è sceso o meno fino a dove dovrebbe essere.

Qualche idea?

Modifica: ho cercato molto e ho trovato this. Sembra essere abbastanza simile al mio problema.

"Ho provato il test di applicazione su Vista 32, XP 32, Win 7 32 & 64. Funziona bene su tutto, tranne che di Windows 7. 32 e 64 sembrano avere lo stesso problema."

Stanno dicendo che si tratta di un problema con Windows 7 ...?

+0

Non lo so, ma ho postato una [domanda simile] (http://stackoverflow.com/ domande/8404394/is-it-possible-to-make-a-folderbrowserdialogs-default-path-show-up-in-a-library) e stava avendo lo stesso problema di scorrimento di voi. Mai risolto il problema di scorrimento. –

+0

Questo è risolto in http://stackoverflow.com/a/29691834/1845672, che si basa sulla sequenza di tastiera tab-tab-rightarrow. – Roland

risposta

2

ho finito per usare la finestra del browser cartella di Ookii dialogs. Onestamente è solo molto meglio del browser di cartelle predefinito. Viene fornito anche con un esempio, che mostra come usarlo.

-1

Impostare il percorso selezionato sull'ultimo percorso della cartella in modo che scorra verso il basso.

if (folderDialog.ShowDialog() == DialogResult.OK) 
{ 
    Properties.Settings.Default.Path = folderDialog.SelectedPath; 
    Properties.Settings.Default.Save(); 
} 

Modificare il codice all'interno se condizione.

+0

Non ha avuto alcun effetto. Il percorso che desidero è sempre evidenziato, e l'albero è sempre aperto nella cartella giusta, non sempre scorre verso il basso. A volte scorre verso il basso, ea volte no. – NMunro

+0

Puoi anche dare un'occhiata a questo http://stackoverflow.com/questions/8404394/is-it-possibile-a-make-a-folderbrowserdialogs-default-path-show-up-in-a-library – Pushpendra

+0

Un altro link http://social.msdn.microsoft.com/Forums/en/csharplanguage/thread/e555bf10-3e7b-4c27-a0ee-da7886899b30 – Pushpendra

0
FolderBrowserDialog folderBrowser = new FolderBrowserDialog(); 
    folderBrowser.Description = "Select Chase 6 Installation Folder"; 
    folderBrowser.RootFolder = Environment.SpecialFolder.ProgramFiles; 
    folderBrowser.ShowNewFolderButton = false; 

    if (Directory.Exists(Properties.Settings.Default.defaultChasePath)) 
    { 
     string x = Properties.Settings.Default.defaultChasePath; 

     //Use API Flag to set correct path, following tahter a catch all better to check 
     //enum for full list 
     RootSetter.SetRootFolder(folderBrowser, RootSetter.CsIdl.FlagDontVerify); 

     folderBrowser.SelectedPath = x; 

    } 
    if (folderBrowser.ShowDialog(this) == DialogResult.OK) 
    { 
     string huz = folderBrowser.SelectedPath; 
    } 

ho avuto da questo link

How do I open a FolderBrowserDialog at the selected folder?

0

questo funziona per me

folderBrowserDialog1.Reset(); 
folderBrowserDialog1.RootFolder = Environment.SpecialFolder.MyComputer; 
folderBrowserDialog1.SelectedPath = WorkingFolder; 

ma solo dopo il secondo uso della finestra di

+0

Non sono sicuro di cosa intendi con "2o uso", ma questo non ha funzionato per me. Ad ogni modo, non fa male usare i primi due prima di impostare il SelectedPath. – Roland

Problemi correlati