如何用来OpenFileDialog选择文件夹?
我打算使用以下项目:https://github.com/scottwis/OpenFileOrFolderDialog
但是,我遇到了一个问题.它使用GetOpenFileName功能和OPENFILENAME结构.并OPENFILENAME有成员的名字templateID.它是对话框模板的标识符.该项目也包含res1.rc文件和模板化对话框init.但我无法弄清楚如何将此文件附加到我的C#项目.
有没有更好的方法来使用OpenFileDialog选择文件夹?
在C#.NET 3.5应用程序(WinForms和WPF的混合)中,我想让用户选择一个文件夹来导入一大堆数据.目前,它正在使用,System.Windows.Forms.FolderBrowserDialog但有点蹩脚.主要是因为您无法在其中键入路径(因此您需要映射网络驱动器,而不是键入UNC路径).
我想要更喜欢的东西System.Windows.Forms.OpenFileDialog,但是对于文件夹而不是文件.
我可以用什么呢?WinForms或WPF解决方案很好,但如果我能避免它,我宁愿不要将PInvoke引入Windows API.
我正在使用C#,我想完全避免使用SelectFolderDialog来选择文件夹.相反,我想使用更接近OpenFileDialog的东西来选择一个文件夹.
有关更直观的示例,我正在寻找与以下内容非常接近的内容:http://i44.tinypic.com/x38tx1.png

有任何想法吗?
我目前必须编写代码以允许我读取文件夹的所有文件并将其写入控制台.下面,我还有了使用浏览器从目录中选择单个文件的代码.我想知道如何使用浏览按钮选择文件夹.
用于检查所有文件的代码
foreach(var path in Directory.GetFiles(@"C:\Name\Folder\"))
{
Console.WriteLine(path); // full path
Console.WriteLine(System.IO.Path.GetFileName(path)); // file name
}
Run Code Online (Sandbox Code Playgroud)
代码打开对话框
OpenFileDialog fileSelectPopUp = new OpenFileDialog();
fileSelectPopUp.Title = "";
fileSelectPopUp.InitialDirectory = @"c:\";
fileSelectPopUp.Filter = "All EXCEL FILES (*.xlsx*)|*.xlsx*|All files (*.*)|*.*";
fileSelectPopUp.FilterIndex = 2;
fileSelectPopUp.RestoreDirectory = true;
if (fileSelectPopUp.ShowDialog() == DialogResult.OK)
{
textBox1.Text = fileSelectPopUp.FileName;
}
Run Code Online (Sandbox Code Playgroud) 请注意,这不是一个重复的问题.
如何在PropertyGrid中显示详细的FolderBrowser,如下图所示(来自具有省略号的字段/属性...)

运用
[EditorAttribute(typeof(System.Windows.Forms.Design.FileNameEditor), typeof(System.Drawing.Design.UITypeEditor))]
[EditorAttribute(typeof(System.Windows.Forms.Design.FolderNameEditor), typeof(System.Drawing.Design.UITypeEditor))]
Run Code Online (Sandbox Code Playgroud)
我们得到了minimalistic文件夹浏览器

我希望在我的应用程序中有一个Folder浏览器,但我不想使用FolderBrowserDialog.(有几个原因,比如使用起来很痛苦)
我想使用标准的OpenFileDialog,但是为目录修改了.
作为一个例子,μTorrent有一个很好的实现(Preferences/Directories/Put下载:).标准的打开文件对话框使用户能够:
有人知道如何实现这个吗?在C#中.
在Visual Studio 2008中,有一个文件夹浏览器对话框,看起来像这样(非常类似于文件打开对话框):
对话框http://img24.imageshack.us/img24/5742/folderbrowser.jpg
有谁知道如何从代码中调用它?
在我的应用程序的第一次启动时,我需要指定一个路径来保存一些文件.但在打开文件对话框中,似乎我必须选择要打开的文件.我怎样才能指定一个文件夹而不用像C:\ config \那样选择文件
这是我的代码
If apppath = "" Then
Dim fd As OpenFileDialog = New OpenFileDialog()
fd.Title = "Select Application Configeration Files Path"
fd.InitialDirectory = "C:\"
fd.Filter = "All files (*.*)|*.*|All files (*.*)|*.*"
fd.FilterIndex = 2
fd.RestoreDirectory = True
If fd.ShowDialog() = DialogResult.OK Then
apppath = fd.FileName
End If
My.Computer.FileSystem.WriteAllText(apppath & "apppath.txt", apppath, False)
End If
Run Code Online (Sandbox Code Playgroud)
我需要选择一个文件才能使它工作,但我只想选择一个文件夹.那么解决方案是什么?
我正在使用PowerShell使用户能够浏览 Node.js 应用程序的文件/文件夹路径(因为到目前为止我还没有找到更好的轻量级替代方案),而且我遇到了处理问题的古老麻烦具有FolderBrowserDialog不支持的可怕的、糟糕的可用性:
标准脚本如下所示:
Function Select-FolderDialog($Description="Select Folder", $RootFolder="MyComputer"){
[System.Reflection.Assembly]::LoadWithPartialName("System.windows.forms") | Out-Null
$objForm = New-Object System.Windows.Forms.FolderBrowserDialog
$objForm.RootFolder = $RootFolder
$objForm.ShowNewFolderButton = $true
$objForm.Description = "Please choose a folder"
$Show = $objForm.ShowDialog()
If ($Show -eq "OK")
{
Return $objForm.SelectedPath
}
Else
{
Write-Error "Operation cancelled by user."
}
}
$folder = Select-FolderDialog
write-host $folder
Run Code Online (Sandbox Code Playgroud)
我过去曾使用Windows API CodePack for C# Windows Forms 应用程序创建了一个CommonOpenFileDialogwith IsFolderPicker = true,为我OpenFileDialog提供了易于使用的托管文件夹浏览器的功能和可访问性。

在我在这里寻找使用类似内容的方法时,我了解到常规的 FolderBrowserDialog …
c# ×9
winforms ×4
.net ×3
directory ×3
file ×2
wpf ×2
c++ ×1
dialog ×1
file-upload ×1
powershell ×1
propertygrid ×1
vb.net ×1
windows ×1