Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.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#_.net_Winforms_Openfiledialog - Fatal编程技术网

C# 自定义筛选OpenFileDialog

C# 自定义筛选OpenFileDialog,c#,.net,winforms,openfiledialog,C#,.net,Winforms,Openfiledialog,我正在尝试制作一个程序,允许用户查看PictureBox中的图标。我希望用户只能打开24x24像素的图像 我想在OpenFileDialog中设置一个过滤器,只显示24x24的图像。有没有办法做到这一点?我听说可以通过自定义OpenFileDialog并使用P/Invoke来实现这一点。您可以检查图像的宽度和高度: // 'image' is the image you want to check if(image.Width > 24 || image.Height > 24)

我正在尝试制作一个程序,允许用户查看PictureBox中的图标。我希望用户只能打开24x24像素的图像


我想在OpenFileDialog中设置一个过滤器,只显示24x24的图像。有没有办法做到这一点?我听说可以通过自定义OpenFileDialog并使用P/Invoke来实现这一点。

您可以检查图像的

宽度和
高度:

// 'image' is the image you want to check
if(image.Width > 24 || image.Height > 24)
    MessageBox.Show("Please select a smaller image!");
else
    // This code will always run if the image is smaller than 24x24

希望这有帮助

如果您是通过将其存储为对象(我假设您是这样)来读取它,则只需“使用System.Drawing”或“使用System.Drawing.Image”读取imageObject.Width


示例和。

您不能使用OpenFileDialog执行此操作。您需要编写自己的对话框来查询每个文件夹中的文件,并确定它们是否符合您的条件,然后仅显示这些文件。

根据我们在chat中的讨论,我已编辑了您的问题。
我想在OpenFileDialog中设置一个过滤器,仅显示24x24的图像。有办法吗?
没有,没有。好的,谢谢!我很高兴我现在知道了如果你想知道为什么你会被否决,我不能代表其他任何人(包括投票的人),但老实说,我自己甚至不知道答案。我用谷歌搜索“如何找到图像宽度”的时间比你写这个问题的时间要少。。。这个问题也模仿了stackoverflow上已经发布的另一个问题。(供日后参考)只是人们希望,如果你希望他们努力彻底地回答你的问题,那么你会首先自己努力回答。(大多数人希望你向他们展示你所做的)