openFileDialog过滤器没有显示任何选项并显示文件夹中的所有文件(即* .jpeg和* .xlsx)

时间:2015-06-07 02:18:44

标签: c# excel openfiledialog

string file = "";
int size = -1;
DialogResult result = openFileDialog1.ShowDialog(); // Show the dialog.
openFileDialog1.Filter = "Excel |*.xlsx"; //"Excel Files|(*.xlsx, *.xls)|*.xlsx;*.xls";
openFileDialog1.FilterIndex = 1;

if(result == DialogResult.OK) // Test result.
{
    file = openFileDialog1.FileName;
    try
    {
        string text = File.ReadAllText(file);
        size = text.Length;
    }
    catch(System.IO.IOException)
    {
    }
}

tempLBL.Text = file;

我还测试了上面评论的过滤器。 当我浏览...并显示所有文件时,它没有显示任何过滤器。我需要的是,当点击“浏览”按钮时,只显示给用户的XLSX或XLS文件。

先谢谢

1 个答案:

答案 0 :(得分:4)

这是因为您在设置过滤器和FilterIndex之前显示对话框。

您的代码应该像

openFileDialog1.Filter = "Excel |*.xlsx"; //"Excel Files|(*.xlsx, *.xls)|*.xlsx;*.xls";
openFileDialog1.FilterIndex = 1;
DialogResult result = openFileDialog1.ShowDialog(); // Show the dialog.