【问题标题】:C# - Changing the icon of the taskbarC# - 更改任务栏的图标
【发布时间】:2013-03-06 11:46:46
【问题描述】:

我想更改我的软件任务栏上的图标,所以我更改了项目设置。这个路径是 Visual Studio 自己建议的

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

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

【问题讨论】:

    标签: c# winforms icons taskbar


    【解决方案1】:

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

    【讨论】:

    • 现在我感觉自己像个白痴。谢谢。我想当我在项目属性中更改它时,它会自行完成。
    • 有人能详细说明一下吗?你是什​​么意思“表格”也需要图标?如果我已经更改了项目 > 属性 > 应用程序 > 图标中的图标,我该如何更改?
    【解决方案2】:

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

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

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

    对于 Windows XP,我不必这样做。

    【讨论】:

    • 我支持这个,它也适用于win10。可能很奇怪 - 虽然应用程序在 Windows 10 中未固定到任务栏,但应用了 Form.Icon,但如果固定了没有快捷方式图标的已卸载应用程序,则使用默认 .exe
    • 此外,在 Windows 10 中,您可以尝试直接从 Program Files 启动 exe,它使用任务栏的桌面快捷方式图标,而不是表单图标的应用程序图标。
    【解决方案3】:

    1 - 将文件(例如 Address_Book.ico)添加到资源部分

    2 - 在代码中添加后续行

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

    3 - 有效。

    【讨论】:

      【解决方案4】:

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

      表单的图标指定在任务栏中代表表单的图片以及为表单的控制框显示的图标。 如果 FormBorderStyle 设置为 FixedDialog,此属性将无效。在这种情况下,表单将不会显示图标。

      【讨论】:

        【解决方案5】:

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

        TaskBar with the Windows Forms NotifyIcon Component

        【讨论】:

          【解决方案6】:

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

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

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

          至于图标大小,我不确定最大尺寸是多少,但我使用 128x128 图标文件。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-12-20
            • 2014-08-08
            • 1970-01-01
            • 2010-11-01
            • 1970-01-01
            相关资源
            最近更新 更多