首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VistaFolderBrowserDialog没有从正确的文件夹开始

VistaFolderBrowserDialog没有从正确的文件夹开始
EN

Stack Overflow用户
提问于 2014-02-03 21:39:44
回答 3查看 2K关注 0票数 3

我想使用文件夹浏览对话框的WPF,但似乎没有这样一个必要的类为WPF

有些人建议使用System.Windows.Forms.FolderBrowserDialog,但这是一个非常糟糕的对话框。

我试过Ookii.Dialogs.Wpf.VistaFolderBrowserDialog

代码语言:javascript
复制
Ookii.Dialogs.Wpf.VistaFolderBrowserDialog dlg = new VistaFolderBrowserDialog();
dlg.SelectedPath = path;
dlg.ShowDialog();

但是,当对话框打开时,设置SelectedPath并不会设置开始文件夹,这对于我的程序是必不可少的。

如何让VistaFolderBrowserDialog在正确的文件夹中打开?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-02-03 22:59:36

最后我使用了Codeplex项目WPF本机文件夹浏览器

代码语言:javascript
复制
WPFFolderBrowser.WPFFolderBrowserDialog dlg = new WPFFolderBrowserDialog();
dlg.InitialDirectory = path;
bool? pathWasSelected = dlg.ShowDialog();
string selectedPath = null;
if(pathWasSelected == true) 
    selectedPath = dlg.FileName;
票数 2
EN

Stack Overflow用户

发布于 2014-02-03 22:08:54

我不能复制这个。但也许这里有些混乱。如果我这么做:

代码语言:javascript
复制
        var dialog = new VistaFolderBrowserDialog();
        dialog.SelectedPath = @"C:\Data";
        dialog.ShowDialog();

它将在"C:“中启动,已经选择了”数据“文件夹。当按OK时,结果是"C:\Data“。但是,包括后面的反斜杠:

代码语言:javascript
复制
        var dialog = new VistaFolderBrowserDialog();
        dialog.SelectedPath = @"C:\Data\";
        dialog.ShowDialog();

将启动此文件夹中的对话框,默认情况下不选择任何内容。当按"OK“时,结果再次是"C:\Data”。

票数 7
EN

Stack Overflow用户

发布于 2017-12-12 08:12:03

WpfFolderBrowser.WpfFolderBrowserDialog --这是最适合我的!

不过,我做了一个修复:函数ErrorHelper.HResultFromWin32(int)在按下“选择文件夹”或“取消”(在.NET 4.5.1中运行)时生成System.OverflowException。

为了解决这个问题,我将有问题的代码放在未检查的块中:

代码语言:javascript
复制
unchecked
{
  win32ErrorCode =
      (int)((win32ErrorCode & 0x0000FFFF) | (FACILITY_WIN32 << 16) | 0x80000000);
}

McNL.8/WpfFolderBrowser

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21538391

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档