winforms C# -更改任务栏的图标

8ehkhllq  于 2023-06-24  发布在  C#
关注(0)|答案(7)|浏览(677)

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

但我的任务栏仍然显示相同的图标之前(标准的一个)-在我的资源管理器.exe有正确的图标,它只是不会改变在任务栏。
我还尝试结束explorer.exe并重新启动任务,但这根本没有帮助。我也试着把分辨率设置为16 x16和32 x32,但都不起作用。

prdp8dxp

prdp8dxp1#

您还需要为表单提供该图标。应用程序图标是嵌入在应用程序中并显示在资源管理器或快捷方式上的图标。但是,每个表单都可以有自己的图标。
在窗体设计器视图中,向下滚动到窗口样式,您将在那里找到设置图标的选项。
以下是Rider中此部分的示例:

eivgtgni

eivgtgni2#

我已经注意到Windows 7和Windows 8的一些事情。Windows任务栏图标取自程序快捷方式的图标,而不是应用程序图标。
如果通过VisualStudio为应用程序分配一个Icon,它将设置一个出现在窗体和通知区域中的图标。但是任务栏图标和你创建的任何快捷方式都不会像以前那样从应用程序中获取图标,而是使用默认的快捷方式图标来创建。
因此,我发现我必须设置快捷方式图标(位于开始菜单中)作为应用程序安装程序的一部分。
对于Windows XP,我不必这样做。

qrjkbowd

qrjkbowd3#

1 -添加文件(例如Address_Book.ico)到“资源”部分
2 -在代码中添加以下行

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

3 -它工作。

3xiyfsfu

3xiyfsfu4#

通过代码设置Form.Icon属性时,请考虑以下来自MSDN的建议
窗体的图标指定任务栏中表示窗体的图片以及为窗体的控件框显示的图标。如果将FormBorderStyle设置为FixedDialog,则此属性无效。在这种情况下,窗体将不显示图标。

vq8itlhq

vq8itlhq5#

您将需要使用工具箱中的notifyicon组件。请按照以下说明操作。
TaskBar with the Windows Forms NotifyIcon Component

93ze6v8z

93ze6v8z6#

项目属性中设置的图标是可执行文件的图标,而不是任务栏中的图标,任务栏中的图标是当前窗体中的图标。
如果您有多个具有相同图标的窗体,并且您使用GUI设置窗体的图标,那么它会将图标的多个示例添加到编译后的可执行文件中,这将导致编译后的可执行文件更大。
所以你应该把这个Icon = Properties.Resources.icon;放在每个窗体的构造函数中来设置窗体的图标。
至于图标大小,我不知道最大大小是多少,但我使用128x128图标文件。

093gszye

093gszye7#

在以下情况下,在启动后设置窗体图标时,任务栏图标不会更改:
1.应用程序固定到任务栏
1.应用程序启动最小化
我有一个应用程序福尔斯第2类。它在windows启动组中,并开始最小化。没有跳槽箍和改变使用覆盖最简单的解决方案是创建一个简单的1行应用程序,然后启动我的应用程序。

Process.Start(appName);

这个应用程序在启动组中,当它启动我的主应用程序时,任务栏图标确实遵循窗体当前图标设置。

相关问题