我有一个包含尺寸为 16x16、24x24 和 32x32 的 32 位图像的图标。我创建了三个包含三个不同大小图像的 ImageList 对象,并根据用户选择的大小在我的 ToolStrip 上分配 ImageList 属性。然而,ToolStrip 对象上显示的图像都是 32x32 图像的缩放版本。例如,我无法弄清楚为什么当我创建 16x16 ImageList 时,它不会从图标中提取 16x16 图像。我的代码基本上是这样的:
ImageList m_imageList16 = new ImageList();
m_imageList16.ColorDepth = System.Windows.Forms.ColorDepth.Depth32Bit;
m_imageList16.ImageSize = new System.Drawing.Size(16, 16);
m_imageList16.TransparentColor = System.Drawing.Color.Transparent;
// Open is an icon in my resources that contains various sizes of images.
m_imageList16 .Images.Add(global::MyTestApp.Properties.Resources.Open);
// Later when the user selects the 16 size from a menu, I change the toolbar:
m_toolbar.ImageScalingSize = new Size(16, 16);
m_toolbar.ImageList = m_imageList16;
似乎这只是在我的图标中使用 32x32 大小的图像并将其缩小到 16x16,而不是使用图标中定义的 16x16 图像。有人能帮忙吗?提前感谢您的任何意见!
- 史蒂夫