Jas*_*per 8 .net c# openfiledialog
有没有办法OpenFileDialog在C:\Users\Public\Documents文件夹中启动?
我正在使用DotNet框架编写C#应用程序.我试图发动OpenFileDialog,与InitialDirectory中"C:\\Users\\Public\\Documents\\"和FileName的"world.txt".不幸的是,它OpenFileDialog正在把我放在Documents捷径而不是C:\Users\Public\Documents.
预期结果
我希望看到OpenFileDialog打开,顶部文本框显示> This PC > Windows7_OS (C:) > Users > Public > Documents,底部文本框显示world.txt.我希望如果我点击顶部文本框,它会显示C:\Users\Public\Documents.
实际结果
打开OpenFileDialog.顶部文本框显示> This PC > Documents,底部文本框显示world.txt.如果我点击顶部文本框,它会显示Documents.显示的文件夹的内容是不一样的内容C:\Users\Public\Documents.
我试过的事情我已经
在以下代码行之后停止了Visual Studio调试器中的代码:
OpenFileDialog dlg = new OpenFileDialog();
在立即窗口中,我执行了以下代码:
dlg.FileName = "world.txt"
? dlg.FileName
dlg.InitialDirectory = "C:\\NonExistentDirectory\\";
dlg.ShowDialog();
dlg.InitialDirectory = "C:\\";
dlg.ShowDialog();
dlg.InitialDirectory = "C:\\Users\\";
dlg.ShowDialog();
dlg.InitialDirectory = "C:\\Users\\Public\\";
dlg.ShowDialog();
dlg.InitialDirectory = "C:\\Users\\Public\\Documents\\";
dlg.ShowDialog();
Run Code Online (Sandbox Code Playgroud)
我取消了每个对话框.
我曾经C:\WINDOWS\System32\cmd.exe对cd之间C:\和C:\Users\和C:\Users\Public和C:\Users\Public\Documents\.
我试过的事情的结果
当dlg.InitialDirectory = "C:\\NonExistentDirectory\\",对话框的文件夹最初显示为This PC > Documents > Visual Studio 2015 > Projects > SimpleGame > Controller > bin > Debug".单击文本框会使其显示C:\Users\Owner\Documents\Visual Studio 2015\Projects\SimpleGame\Controller\bin\Debug.因此,我假设通过不更改目录来OpenFileDialog静默处理无效InitialDirectory.在这种情况下,它默认为我的项目的程序集的bin的Debug文件夹.
何时dlg.InitialDirectory是"C:\\"或"C:\\Users\\"或"C:\\Users\\Public\\"对话框按预期运行.单击顶部文本框中产生C:\或C:\Users或C:\Users\Public分别.
当dlg.InitialDirectory = "C:\\Users\\Public\\Documents\\"对话框行为不正确时.顶部文本框显示> This PC > Documents,底部文本框显示world.txt.如果我点击顶部文本框,它会显示Documents.显示的文件夹的内容是不一样的内容C:\Users\Public\Documents.
使用cmd.exe让我cd按预期在文件夹之间,包括进入C:\Users\Public\Documents.
我的环境
我使用Microsoft Visual C#2015运行Microsoft Visual Studio社区2015版本14.0.23107.0 D14REL.我的操作系统是Windows 10 Pro.
如果您使用 System.Windows.Forms.OpenFileDialog 您可以设置:
dialog.AutoUpgradeEnabled = false;
Run Code Online (Sandbox Code Playgroud)
该对话框看起来有点过时/平淡/“老派”,但它至少显示了正确的内容!
| 归档时间: |
|
| 查看次数: |
602 次 |
| 最近记录: |