2013-02-13 534 views
-1

我在Windows窗体应用程序中有一个浏览按钮,我只想过滤选择PDF文件的选项。因此,在浏览文件窗口中,只有pdf文件可见,不会显示.doc或任何类型的文档格式。只允许上传pdf文件

private void btnSelectFile_Click(object sender, EventArgs e) 
    { 
     var dlg = new OpenFileDialog(); 
     var res = dlg.ShowDialog(); 
     if (res == DialogResult.OK) 
     { 
      DocumentUNCPath.Text = dlg.FileName; 
     } 
    } 
+0

这是一个重复的问题。与解释一起在这里看到答案。 http://stackoverflow.com/questions/2069048/setting-the-filter-to-an-openfiledialog-to-allow-the-typical-image-formats – 2013-02-13 14:25:48

回答

7

首先,你需要先申请一个过滤器到为OpenFileDialog例如:

dlg.Filter = "PDF Files|*.pdf"; 

然而,这并不从通过文件强制(他们可以做)阻止他们。您可以在点击确定后再次检查文件名,但这并不能保证您获得的文件将是PDF。

为了安全起见,您可以在本地或服务器端使用PDF库来尝试打开PDF文件,看看它是否确实如此。

1

您想使用OpenFileDialogFilter属性。

dlg.Filter = "PDF Files|*.pdf" 

|左侧的部分可以是任何东西,我只是给你一个例子,但它是什么显示给用户。 |右侧的部分是实际的Windows过滤器。

2

补充一点:

dlg.Filter = "PDF files|*.pdf"; 
2

你要设置过滤器属性您dlg对象上是这样的:

var dlg = new OpenFileDialog(); 
dlg.Filter = "*.pdf"; 
var res = dlg.ShowDialog(); 
if (res == DialogResult.OK) 
{ 
    DocumentUNCPath.Text = dlg.FileName; 
}