You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在ListView中显示大于256x256尺寸的图片?

解决ListView显示大尺寸图片的方法

原生ImageList的ImageSize属性确实被限制在1-256范围内,无法直接设置更大尺寸。要在ListView中显示512x512或更大的图片,可以通过自定义绘制ListView项的方式绕开这个限制,不需要依赖ImageList:

  • 第一步:把要显示的大尺寸图片存储在一个集合(比如List<Image>)里,确保和ListView的项一一对应。
  • 第二步:将ListView的OwnerDraw属性设为true,接管项的绘制逻辑。
  • 第三步:处理ListView的DrawItem事件,手动绘制图片和文本:
private void listView1_DrawItem(object sender, DrawListViewItemEventArgs e)
{
    // 绘制项的背景
    e.DrawBackground();
    
    // 获取当前项对应的大尺寸图片
    Image targetImage = imageCollection[e.Item.Index];
    
    // 绘制图片,可根据需求调整位置和显示尺寸
    e.Graphics.DrawImage(targetImage, e.Bounds.X + 10, e.Bounds.Y + 10, 512, 512);
    
    // 绘制项文本,调整位置避免被图片遮挡
    e.Graphics.DrawString(e.Item.Text, e.Item.Font, Brushes.Black, e.Bounds.X + 530, e.Bounds.Y + 25);
    
    // 绘制焦点框(按需保留)
    e.DrawFocusRectangle();
}
  • 补充提示:如果图片尺寸超出ListView可视范围,记得开启AutoScroll属性;也可以在绘制前对图片进行缩放处理,平衡显示效果和性能。另外,提前缓存处理好的图片能提升绘制效率。

你也可以选择第三方ListView控件(如DevExpress相关控件),这类控件通常原生支持大尺寸图片显示,无需手动实现自定义绘制。

内容的提问来源于stack exchange,提问作者Constantine

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 15:42:08