我正在使用.Net Windows Forms ListView控件,当我需要从关联的LargeImageList绘制图像时,看到一个非常奇怪的错误/行为。

当View类型是使用LargeImageList的类型时(Tile,LargeIcon等),我从LargeImageList绘制项目图像。在这种情况下,我看到了巨大的内存增加,并且当您尝试滚动ListView时,这也变得更加明显,因为您还看到了一个不稳定的滚动。当相同的代码使用SmallImageList时,不会发生相同的事情:

Image MyImage = this.LargeImageList.Images[MyIndex];
e.Graphics.DrawImage(MyImage,MyLocation);


根据我的测试,这在XP和7下是可重现的。这是一个已知的错误,有任何解决方法吗?

问候,

Özden

最佳答案

尽管我仍然认为这是一个错误,但是我找到了一种解决方法。如果使用ImageList.Draw而不是e.Graphics.DrawImage进行绘制,则此问题似乎消失了。

10-08 06:58