Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何显示阻止OpenFileDialog类在C中关闭的错误?_C#_Winforms_Openfiledialog - Fatal编程技术网

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

C# 如何显示阻止OpenFileDialog类在C中关闭的错误?,c#,winforms,openfiledialog,C#,Winforms,Openfiledialog,我正在创建一个基本绘图程序,用户可以通过单击类中的某个.png文件打开项目。我正在使用System.Windows.Forms.OpenFileDialog类。 如果用户试图打开错误的文件,如何使对话框显示错误而不关闭? 例如:我希望用户单击文件名.png,但用户单击了名为picture.png的文件。现在出现了一个错误,要求用户查找name.png,但没有关闭对话框 这是我的密码: OpenFileDialog openFileDialog = new OpenFileDial

我正在创建一个基本绘图程序,用户可以通过单击类中的某个.png文件打开项目。我正在使用System.Windows.Forms.OpenFileDialog类。 如果用户试图打开错误的文件,如何使对话框显示错误而不关闭?
例如:我希望用户单击文件名.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!    
                }
            }
        }

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


这样,用户只能够选择您想要的文件,而不需要进行额外的检查。

我希望用户单击file name.png-那么为什么您首先要给他们一个选择呢。没有意义。这闻起来像是一个分配问题,要求你加入一个带退出条件的循环。我想要这个选择,因为我试图在第一级创建由png文件定义的项目。从那里我可以找到该项目的其余位置。这更有意义吗?我不知道我是否说得那么好。而且这也不是一个赋值,虽然我不确定如何在这里使用循环。你在WinForms中使用的是什么框架?WPF?还有别的吗?为什么一个简单的MessageBox.Show。。。不工作?为什么不使用name.png作为过滤器,而不是*.png?不完全正确-用户仍然可以键入错误文件的完整路径。谢谢,它工作了@debracey的想法是,可能有许多不同的项目是由他们的第一级png文件定义的,并且有特定的名称。我想知道什么时候我们会收到你的消息。很高兴在船上见到你@debracey或只需键入**作为文件名,即可显示所有文件并选择任何一种方式。