我有一个embedded了5个图标大小的.ico文件,用作主应用程序图标和系统托盘图标。
当它显示在任务栏中时,图标使用所需的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;
DateTime.UtcNow.Ticks有时跳跃了一个显着的数额
将应用程序更新部署到多个站点
如何获得button上的popupbutton,点击uwp中的另一个popupbutton
桌面程序在Win 7中运行,但不在Win 8中运行
如何在MS Windows上加载GTK Sharp主题
通过.Net设置Windows进程“评论”?
实施Explorer ContextMenu并将多个文件传递给一个程序实例
当我在文本框中input时出现恼人的嘟嘟声
以编程方式连接和断开USB设备
两个答案都很接近,但含有微妙的毒素。 您不应该将请求的大小硬编码为16×16。
而是查询System@R_653_404[email protected]以确定适当的维度。 尽管默认值是16×16,但这可以通过各种方式进行更改,例如DPI缩放。
notifyIcon.Icon = new System.Drawing.Icon(this.Icon,System@R_653_404[email protected]),
改变这个:
notifyIcon.Icon = this.Icon;
对此:
notifyIcon.Icon = new System.Drawing.Icon(this.Icon,16,16);
您需要创建图标的新实例。 创建(加载)新实例时,请指定大小。 Icon类的构造函数有几个不同的重载,供您选择。 如果图标文件被嵌入到主要的可执行文件中(通常是这种情况),你可以这样做:
Assembly asm = this.GetType().Assembly; var smallIconSize = new System.Drawing.Size(16,16); notifyIcon.Icon = new System.Drawing.Icon( asm.GetManifestResourceStream("MyPrettyAppIcon.ico"),smallIconSize);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。