【发布时间】:2010-06-13 04:52:57
【问题描述】:
我特别希望能够在运行时获得小 (16 x 16) 图标。
我试过了:
new Icon(SystemIcons.Error, SystemInformation.SmallIconSize)
据说“试图找到与请求大小匹配的图标版本”,但它仍然给我一个 32 x 32 的图标。我也试过了:
Size iconSize = SystemInformation.SmallIconSize;
Bitmap bitmap = new Bitmap(iconSize.Width, iconSize.Height);
using (Graphics g = Graphics.FromImage(bitmap))
{
g.DrawIcon(SystemIcons.Error, new Rectangle(Point.Empty, iconSize));
}
但这只是将 32 x 32 图标缩小为丑陋的 16 x 16。
我考虑过只是从 VS 图像库中提取图标,但我真的希望它们随操作系统动态变化(XP 上的 XP 图标,Vista 上的 Vista 图标等)。如果需要,我愿意 P/Invoke。
【问题讨论】: