对于这个程序,我想知道,FileName得到了什么?文献?还是d:\aa.doc
?
据我了解,openfd.FileName可以是d:\\aa.doc
或Document
。
但似乎Document
未分配,只有d:\\aa.doc
分配有效,为什么?
string FileName = "d:\\aa.doc"; //assign d:\aa.doc to Filename
private void openIt_Click(object sender, RoutedEventArgs e)
{
OpenFileDialog openfd = new OpenFileDialog();
openfd.FileName = "Document"; // not assign Document to FileName?
openfd.DefaultExt = ".doc";
Nullable<bool> result = openfd.ShowDialog();
if (result == true)
{
string filename = openfd.FileName;
答案 0 :(得分:0)
OpenFileDialog的快速入门:
您几乎从不为FileName分配值,因为此值是用户选择的文件的路径。您可以使用它来预填充文件名,但如果文件不存在于开始文件夹中,它可能会恢复为String.Empty(您描述的行为)。你做的第一个任务与文件对话框无关,所以当然它总会成功。
您尝试做的是将过滤字符串设置为word文档,您可以通过设置过滤器属性来执行此操作:
openFd.Filter = "Word Documents|*.doc"
您可以在MSDN上阅读有关“打开文件”对话框的更多信息。
如果我能说清楚的话,请告诉我!