我在使用基于.NET 3.5的winforms应用程序中的ListView中渲染图像时遇到问题。
在ListView控件中,我使用LargeImageList作为缩略图。
应用程序在Win 7中正常工作 - 缩略图中的图像都可以,但如果应用程序在Win XP中运行,则缩略图中的图像会变坏。
Win 7和Win Xp中的渲染之间的区别在于此。
什么会导致这种行为?
编辑:谢谢大家的回复和建议。它已经解决了。我使用另一个控件而不是winforms listview。
答案 0 :(得分:0)
您可以查看Better ListView组件。我们付出了巨大努力来启用任意大小的缩略图:
渲染使用GDI +,因此XP和Windows 7上的结果看起来相同(当然,选择除外,这些选择基于Windows主题)。
.NET ListView是一个Win32控件包装器,因此外观在很大程度上取决于操作系统,我们在托管代码中完全编写了一个控件,以避免这些问题。
答案 1 :(得分:0)
您可以尝试使用免费 ObjectListView控件来实现此目的。您可以从http://objectlistview.sourceforge.net下载。
ImageGetter
属性(通常是第一列)设置为返回Image
,string
或{{1}的函数},对应于您要为项目显示的图像
如果某个函数返回int
或string
,则该项目将显示OLV的int
或LargeImageList
中的图像。SmallImageList
或Enumerable
方法创建要显示的项目的SetObjects
个集合,并将其附加到OLV。