我必须打开一个文件对话框。在那里我必须选择一个文件XML或MAP文件。如果选择的文件是MAP文件,那么我必须执行步骤A,或者如果选择的文件是XML,那么我必须执行步骤B.我的问题是如何知道从对话框应用程序中选择了哪个文件?
OpenFileDialog fileDialog1 = new OpenFileDialog();
fileDialog1.Filter = "XML Files|*.xml|MAP Files|*.map";
fileDialog1.ShowDialog();
如何知道从上面的过滤器中选择了哪个文件?
答案 0 :(得分:2)
您可以使用:
string fileName = OpenFileDialog.Filename;
if(fileName.EndsWith(".xml"))
{
//
}
else if(fileName.EndsWith(".map"))
{
//
}
答案 1 :(得分:1)
我认为在开放时你不能这样做。
当用户按“确定”然后以OpenFileDialog.Filename
方法或Path.GetExtension
传递OpenFileDialog.Filename.Endswith(".xml")
。
检查扩展名是否为XML,然后执行x
步骤y
步骤。
修改强>
查看您需要的功能,打开文件对话框中必须有一个事件。
有2个OpenFileDialog
类
System.Windows.Forms
Microsoft.Win32
两者都只有一个您可以查找的事件OpenFileDialog.FileOK
。
答案 2 :(得分:0)
openFileDialog1.FileName = "";
if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
string filename = openFileDialog1.FileName;
if (File.Exists(filename))
{
//do something here
}
}
OpenFileDialog 的 FileName 属性是选定的文件名。
答案 3 :(得分:0)
您甚至可以在带有堆叠标签的交换机中使用类似的扩展名,并对不支持的文件类型使用默认大小写:
switch (extension)
{
case "xml":
case "xaml":
Debug.WriteLine("It's an XML!");
break;
case "map":
Debug.WriteLine("It's a map!");
break;
default:
MessageBox.Show("Please select an XML or MAP file");
// Show the dialog again
break;
}