在使用C#的桌面应用程序中展示所选图片的缩略图

4
我有一个用C#编写的桌面应用程序,需要在缩略图视图中显示选定的图像(视图类似于附图)。可以使用图像顶部显示的x(交叉)按钮取消选择所选图像。有人可以建议我如何完成这个任务。我已经看到了ASP .net中完成的方法。但我必须在C#中完成这个任务。任何线索都会受到极大的欢迎。
问候,

你遇到了哪个部分的问题? - D'Arcy Rittich
一次性显示所选图像。 - Ravi shankar
2个回答

1

你可以使用 .Net 中的 Image 类(Image.GetThumbnailImage)生成缩略图。至于您在此处展示的布局,您可以使用 FlowLayoutPanel 或其他类型的面板(或自己编写一个),动态地将图像添加到您的表单中。从那里开始,在 OnPaint 中围绕图像突出显示并添加 X 控件按钮,只需通过某个容器类(将图像添加到类似于 HashSet 的东西中 (.Net 3.5 或更高版本),以便您可以快速地将它们添加/删除到集合中,并在 OnPaint 中进行迭代)来跟踪哪些是选定的,哪些不是。


如果你将我的想法和VinayC的想法结合起来,你会得到一个相当可行的解决方案,创建一个包含图像名称和图像面板的UserControl。从所选文件生成缩略图,并使用新控件显示它们。您可以添加属性以确定X图标是否应该显示为控件的一部分,然后允许控件的OnPaint管理该部分。然后,您可以使用FlowLayoutPanel自动排列图像,将更多的图像显示控件添加到面板中。如果我有足够的声望,我会投票支持VinayC的评论,这是一个很好的想法。 - pstrjds

1
我的建议是创建一个自定义控件(或用户控件),它将封装图像缩略图及其名称。当聚焦/悬停时,它会突出显示并显示十字架。十字架可以是另一张覆盖在缩略图上的简单图像(在鼠标悬停事件中显示/隐藏)。然后,您只需要创建和布置多个控件实例,以任何您想要的方式。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接