C# – 更改任务栏的图标

我想更改我的软件任务栏上的图标,所以我更改了项目设置。 此路径由Visual Studio本身提供

图标的路径

但我的任务栏仍然显示与以前相同的图标(标准版) – 在我的资源管理器中,.exe具有正确的图标,它不会在任务栏中更改。

我还尝试结束explorer.exe并重新启动任务,但这根本没有帮助。 我也尝试将分辨率设置为16×16和32×32,但两者都不起作用。

您还需要为表单提供该图标。 应用程序图标是嵌入在应用程序中并在资源管理器或快捷方式中显示的图标。 但是,每个表单都有自己的图标。

我已经注意到Windows 7和Windows 8的一些内容.Windows任务栏图标取自程序快捷方式的图标,而不是应用程序图标。

如果通过Visual Studio为应用程序分配一个Icon,它将设置一个显示在表单和通知区域中的图标。 但是,任务栏图标和您创建的任何快捷方式都不会像以前那样从应用程序中获取图标,而是使用默认快捷方式图标创建。

所以我发现我必须设置快捷方式图标(它位于“开始”菜单中)作为应用程序安装程序的一部分。

我不必为Windows XP执行此操作。

通过代码设置Form.Icon属性还考虑来自MSDN的以下建议

表单的图标指定表示任务栏中表单的图片以及为表单控件框显示的图标。 如果FormBorderStyle设置为FixedDialog则此属性不起作用。 在这种情况下,表单不会显示图标。

1 – 将文件(例如Address_Book.ico)添加到Resources部分

2 – 在代码中添加以下行

  public Form1() { .... this.Icon = Properties.Resources.Address_Book; } 

3 – 它的工作原理。

项目属性中设置的图标是可执行文件的图标,而不是任务栏中的图标,任务栏中的图标是当前表单中的图标。

如果您有多个具有相同图标的表单,并且您使用GUI设置了表单的图标,那么它会将图标的多个实例添加到已编译的可执行文件中,这将导致更大的已编译可执行文件。

所以你应该把这个Icon = Properties.Resources.icon; 在每个表单的构造函数中设置表单的图标。

至于图标大小,我不知道最大尺寸是什么,但我使用128×128图标文件。

您将需要使用工具箱中的notifyicon组件。 请按照以下说明进行操作。

使用Windows窗体NotifyIcon组件的TaskBar