我使用的是Windows.Forms应用程序,我可以使用OpenFileDialog
或FolderBrowserDialog
从我的用户那里获取文件或目录。但我需要在一个独特的对话框中获得两者。我尝试将OpenFileDialog
与.multselect = true
一起使用并选择文件和文件夹,但在代码中,当我访问OpenFileDialog.FileNames
时,此属性仅返回文件名,而不返回所选目录。
在System.IO.Directory
调用GetFileSystemEntries
中存在一个我想要的静态方法。但我需要一个能够做到这一点的对话。
任何人都可以帮助我?
答案 0 :(得分:0)
尝试:
string baseFolder = System.IO.Directory.GetParent(strToFile).ToString();
这将为您提供文件的文件夹名称。
答案 1 :(得分:0)
或使用FileInfo!
FileInfo fi = new FileInfo(strToFile);
string fileFolder = fi.DirectoryName;
答案 2 :(得分:0)
private void button1_Click(object sender, EventArgs e)
{
if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
string[] files = openFileDialog1.FileNames;
if (files != null && files.Length > 0)
{
// returns the root directory
string folder = System.IO.Path.GetDirectoryName(files[0]);
// Obtain the file system entries in the directory path.
string[] directoryEntries =
System.IO.Directory.GetFileSystemEntries(folder);
}
}
}
答案 3 :(得分:0)
无法获取单个文件夹和文件 对话框()。
根据microsoft关于c#的文档,您必须使用不同的对话框来选择文件夹和文件