带有标签的图像列表,为什么它会不断缩小图像

时间:2010-07-06 06:01:09

标签: c# winforms visual-studio-2008

我正在使用带有标签控件的图像列表,基本上是做自定义rolleover效果。但是,如果我使用图像列表并尝试将图像写入标签,它会将图像缩小到16x16,即使列表中的图像实际上是21高65宽,为什么会这样,我怎么能阻止它,基本上以默认尺寸显示图像?

1 个答案:

答案 0 :(得分:1)

问题来自ImageList。它有一个属性ImageSize,它对List本身有很大的影响。

如果您在ImageList的图像中查看设计时间,它们都会显示其真实的宽度和高度值。但是通过编译时,图像将使用给定的ImageSize存储在列表中。因此,ImageList中的所有图像将已拉伸到运行时的给定大小

注意:如果您在运行时更改ImageSize,所有图片都将从列表中删除!

要解决您的问题,您有两种可能:

  1. 如果您的所有图片尺寸相同,请在设计时将此尺寸设为
  2. 如果你有不同大小的图像,你应该将它们添加到Resources.resx文件并从那里访问它们,因为这里它们将按原样保存,访问也很容易,如Properties.Resources.MyPictureFile