Customising the browse for folder dialog to show the path
Asked Answered
M

2

29

What is the simplest way to customise the System.Windows.Forms.FolderBrowserDialog so a path can be entered using text in a textbox below the tree? This would make it easier to select unmapped UNC paths.

Looks like this KB has some supporting information.

Malefactor answered 23/2, 2009 at 6:53 Comment(0)
C
45

Just this weekend I needed this. I looked and looked but could not find it. Resorted to writing it myself, based on that KB article, and some other things. Here ya go. FolderBrowserDialogEx (article in archive)

Full Source code. Free. MS-Public license.

FolderBrowserDialogEx

Code to use it:

     var dlg1 = new Ionic.Utils.FolderBrowserDialogEx();
     dlg1.Description = "Select a folder to extract to:";
     dlg1.ShowNewFolderButton = true;
     dlg1.ShowEditBox = true;
     //dlg1.NewStyle = false;
     dlg1.SelectedPath = txtExtractDirectory.Text;
     dlg1.ShowFullPathInEditBox = true;
     dlg1.RootFolder = System.Environment.SpecialFolder.MyComputer;
     
     // Show the FolderBrowserDialog.
     DialogResult result = dlg1.ShowDialog();
     if (result == DialogResult.OK)
     {
         txtExtractDirectory.Text = dlg1.SelectedPath;
     }

Capabilities: shows editbox, shows full path in edit box. Can be used to browse printers or computers, as well as files+folders, or just folders.

Edit, 2018-05-31: If the Codeplex link above does not work for you, this Git resource also exists.

Edit, 2022-02-11: There is probably new repo of original author https://github.com/DinoChiesa/DotNetZip/blob/master/Zip/Resources/FolderBrowserDialogEx.cs

Comfit answered 24/2, 2009 at 6:49 Comment(6)
+1 I ended up doing the same ... code.google.com/p/videobrowser/source/browse/trunk/…Malefactor
These are the droids you are looking for: connect.microsoft.com/VisualStudio/feedback/details/518103/… This is the reason many of these threads about FolderBrowserDialog exist. For people having this problem, the Shell dialog wrapper control above suffers from the same issue.Bois
All links above are either broken or point to useless pages. Anybody got an updated link that gets what Cheeso posted?Queri
Still no working link. Please paste the code in the answer.Coeducation
@Coeducation - I added a link to a version that works for me.Aircraftman
There is a bug in the code on GitHub; due to _hwndEdit not being initialized it's impossible to see the full path in the edit box, even if that option is true. To fix it move the line _hwndEdit = PInvoke.User32.FindWindowEx(new HandleRef(null, hwnd), IntPtr.Zero, "Edit", null); to the top of the BrowseForFolderMessages.BFFM_INITIALIZEDcase so it's always called.Helyn
J
3

Try under code project folder browser - this allows customizing the dialog in many ways.

Also in social.msdn.microsoft.com there is a post that suggest creating a form of your own for that and even suggest the code for it.

Jett answered 23/2, 2009 at 15:9 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.