0

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

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

4 回答 4

9

首先,您需要先对以下内容应用过滤器OpenFileDialog

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

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

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

于 2013-02-13T14:12:29.000 回答
2

添加这个:

dlg.Filter = "PDF files|*.pdf";
于 2013-02-13T14:13:25.390 回答
2

您需要dlg像这样在对象上设置过滤器属性:

var dlg = new OpenFileDialog();
dlg.Filter = "*.pdf";
var res = dlg.ShowDialog();
if (res == DialogResult.OK)
{
    DocumentUNCPath.Text = dlg.FileName;
}
于 2013-02-13T14:13:32.973 回答
1

您想Filter使用OpenFileDialog.

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

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

于 2013-02-13T14:12:42.063 回答