2012-09-14 12 views
6

Mam więc okno dialogowe przeglądarki folderów i mam problemy z wybraną ścieżką.FolderBrowserDialog pokazujący problem z SelectedPath

Dlatego chcę, aby poprzedni folder, który został otwarty do wybrania, i chcę go przewinąć w dół, aby poprzedni folder był widoczny.

Dziwne jest to, że działa to dobrze, ale tylko czasami. Jest całkowicie losowy. Ścieżka jest zawsze podświetlona, ​​ale nie zawsze jest przewijana w dół.

Czasami, po uruchomieniu debugowania i kliknięciu Przeglądaj, otworzy się i przewinie w dół tam, gdzie chcę. Następnie klikam przycisk OK, ponownie kliknij przycisk przeglądania i jest całkowicie losowy, niezależnie od tego, czy jest przewijany w dół do miejsca, w którym powinien być.

Jakieś myśli?

Edytuj: Dużo wyszukiwałem i znalazłem this. Wydaje się być bardzo podobny do mojego problemu.

"Próbowałem aplikację testową na Vista 32, XP 32, Win 7 32 & 64. Współpracuje na wszystko z wyjątkiem Windows 7. Zarówno 32 i 64 wydaje się mieć ten sam problem."

Mówią, że to usterka w systemie Windows 7 ...?

+0

nie wiem, ale napisali [podobne pytanie] (http://stackoverflow.com/ questions/8404394/is-it-possible-to-make-a-folderbrowserdialogs-default-path-show-up-in-a-library) i miał taki sam problem z przewijaniem jak ty. Nigdy nie rozwiązano problemu przewijania. –

+0

Rozwiązuje to http://stackoverflow.com/a/29691834/1845672, który jest oparty na sekwencji klawiszy tab-tab-rightarrow. – Roland

Odpowiedz

2

I skończyło się okno przeglądarki z Ookii dialogs folderu. Szczerze mówiąc, jest to o wiele lepsze niż domyślna przeglądarka folderów. Zawiera również przykład pokazujący, jak z niego korzystać.

-1

Ustaw wybraną ścieżkę na ostatnią ścieżkę folderu, aby przewinąć w dół.

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

Zmień kod wewnątrz, jeśli warunek.

+0

Brak efektu. Ścieżka, którą chcę, jest zawsze podświetlona, ​​a drzewo jest zawsze otwarte w prawym folderze, po prostu nie zawsze jest przewijane w dół. Czasami przewija się w dół, a czasem nie. – NMunro

+0

Możesz także spojrzeć na to http://stackoverflow.com/questions/8404394/is-it-possible-to-make-a-folderbrowserdialogs-default-path-show-up-in-a-brbrary – Pushpendra

+0

Jeszcze jedno łącze: 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; 
    } 

mam z tego linku

How do I open a FolderBrowserDialog at the selected folder?

0

to działa na mnie

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

ale dopiero po drugim użytkowania dialogowym

+0

Nie jestem pewien, co masz na myśli mówiąc o "drugim użyciu", ale to nie działało dla mnie. W każdym razie nie zaszkodzi użyć pierwszych dwóch inicjałów przed ustawieniem SelectedPath. – Roland

Powiązane problemy