Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C打开文件对话框;指定名称和扩展名?_C#_Wpf - Fatal编程技术网

C# C打开文件对话框;指定名称和扩展名?

C# C打开文件对话框;指定名称和扩展名?,c#,wpf,C#,Wpf,在C中,可以在OpenFileDialog对象上指定过滤器 有没有办法按名称自动选择文件?例如,如果我导航到一个包含xml文件的文件夹,是否有任何过滤选项会自动以myxml.xml为目标?是的,只需如下设置OpenFileDialog的FileName属性: dlg.FileName = "myxml.xml"; dlg.FileName = "myxml.xml"; dlg.Filter = "XML files|file.xml"; DirectoryInfo dir = new D

在C中,可以在OpenFileDialog对象上指定过滤器


有没有办法按名称自动选择文件?例如,如果我导航到一个包含xml文件的文件夹,是否有任何过滤选项会自动以myxml.xml为目标?

是的,只需如下设置OpenFileDialog的FileName属性:

dlg.FileName = "myxml.xml";
 dlg.FileName = "myxml.xml";
dlg.Filter = "XML files|file.xml";
DirectoryInfo dir = new DirectoryInfo("PATHHERE");
FileInfo[] files = dir.GetFiles();
但是,如果在筛选器中使用名称,则更为合适。只需放置它,而不是作为通配符的星形:

dlg.Filter = "XML Files|myxml.xml";
请始终记住,您可以有多个这样的过滤器:将来可能会很有用:

"Image Files (*.bmp, *.jpg)|*.bmp;*.jpg"
// -- OR --
"Text Files (*.txt)|*.txt|All Files (*.*)|*.*"

有关筛选器的更多文档,请访问。

是的,您实际上可以将筛选器设置为完整的文件名:

dlg.Filter = "myxml Files|myxml.xml";

请注意,选择此筛选器后,您将无法选择其他XML文件。如果您只是想在显示并允许选择任何XML文件时默认使用该文件名,请使用FᴀʀʜᴀɴAɴᴀᴍ'这是最初的答案。现在,他将我的答案复制到了他的答案中,您可以继续他的答案。

您可以这样设置FileName属性:

dlg.FileName = "myxml.xml";
 dlg.FileName = "myxml.xml";
dlg.Filter = "XML files|file.xml";
DirectoryInfo dir = new DirectoryInfo("PATHHERE");
FileInfo[] files = dir.GetFiles();
或按如下方式设置过滤器属性:

dlg.FileName = "myxml.xml";
 dlg.FileName = "myxml.xml";
dlg.Filter = "XML files|file.xml";
DirectoryInfo dir = new DirectoryInfo("PATHHERE");
FileInfo[] files = dir.GetFiles();
检查末尾是否没有类似file.xml的空间很重要,因为如果有,文件将不会显示,换句话说,OpenFileDialog不会修剪Filter属性

如果事先不知道文件名,可以使用DirectoryInfo和FileInfo,如下所示:

dlg.FileName = "myxml.xml";
 dlg.FileName = "myxml.xml";
dlg.Filter = "XML files|file.xml";
DirectoryInfo dir = new DirectoryInfo("PATHHERE");
FileInfo[] files = dir.GetFiles();
然后循环浏览这些文件,找到您要查找的文件