如何显示阻止OpenFileDialog类在C#中关闭的错误?

时间:2013-03-06 02:46:06

标签: c# winforms openfiledialog

我正在创建一个基本的绘图程序,用户可以通过单击该类中的某个.png文件来打开项目。我正在使用System.Windows.Forms.OpenFileDialog类。 如果用户试图打开错误的文件,我如何才能使对话显示错误而不关闭? 例如:我希望用户单击文件“name.png”,但用户单击名为“picture.png”的文件。现在出现错误,要求用户找到“name.png”并且不关闭对话框。

这是我的代码:

        OpenFileDialog openFileDialog = new OpenFileDialog();
        openFileDialog.Filter = "*.png Files|*.png|All files|*.*";
        if (openFileDialog.ShowDialog() == DialogResult.OK)
        {
            if (openFileDialog.FileName.EndsWith(".png"))
            {
                if(openFileDialog.FileName.Equals("name.png"))
                {
                    //name.png found
                }
                else
                {
                    // it was the wrong file!    
                }
            }
        }

1 个答案:

答案 0 :(得分:3)

不要在事后检查结果,而是将过滤器设置为Name file|name.png

这样,用户只能选择你想要的文件,而且不需要额外的检查。