.net – Windows从多图标文件中选择错误的图标,并自动渲染以更正大小

前端之家收集整理的这篇文章主要介绍了.net – Windows从多图标文件中选择错误的图标,并自动渲染以更正大小前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个.ico文件,其中嵌有5个图标大小,用作主应用程序图标和系统托盘图标.

当它显示在任务栏中时,图标正在使用所需的16×16格式.
当图标显示通知区域/系统托盘中时,它使用的是32×32格式,Windows将其渲染为16×16的图标,看起来很糟糕.

如何强制窗口使用通知区域中的16×16图标大小?
这是我的代码将图标放在系统托盘中:

ContextMenu cmNotify = new ContextMenu();
MenuItem miNotify = new MenuItem(Properties.Resources.Notify_Text);
miNotify.DefaultItem = true;
miNotify.Click += new EventHandler(notifyHandler);
cmNotify.MenuItems.Add(miNotify);


notifyIcon = new NotifyIcon();
notifyIcon.Icon = this.Icon;
notifyIcon.Visible = true;
notifyIcon.ContextMenu = cmNotify;
notifyIcon.Text = AppConstants.APPLICATION_NAME;
两种反应都很接近,但含有微量的毒素.您不应将请求的大小硬编码为16×16.

相反,查询SystemInformation.SmallIconSize来确定适当的维度.虽然默认值是16×16,但可以通过诸如DPI缩放等各种功能来改变.

有关此属性的更多信息,请参阅the MSDN article.

猜你在找的Windows相关文章