奇怪的.NET ListView行为

时间:2009-10-13 00:05:37

标签: c# .net listview

我正试图解决这个问题:我在LargeIcon视图中有一个ListView(System.Windows.Forms.View.LargeIcon

这一行在构造函数中:

this.listView1.LargeImageList.ImageSize = new Size(32, 32);

然后双击调用此函数:

private void listView1_DoubleClick(object sender, EventArgs e)
{
    this.listView1.LargeImageList.ImageSize = new Size(64, 64); 
}

当我双击列表视图时,大小会按预期更改,但我的图标被删除了,我只是得到一个很大的空白区域。即使我之后将ImageIndex设置为使用它,它仍然是空白的,我似乎无法再次显示它。

我认为我做错了什么(虽然我猜.NET可能会被打破)。我该怎么改变图标不会消失?

(我在.NET 2.0中)

1 个答案:

答案 0 :(得分:2)

我认为你遇到了MSDN(http://msdn.microsoft.com/en-us/library/system.windows.forms.imagelist.imagesize.aspx)中描述的这个警告:

  

因为设置了ImageSize属性   导致重新创建句柄,你   应该在设置之前设置ImageSize   Images属性。

此外,依靠系统将图像从32x32调整为64x64自然会导致图像质量低。