C# - Changing the icon of the taskbar

半世苍凉 提交于 2019-11-30 01:38:55

问题


I want to change the icon on the taskbar of my software, so I changed the project settings. This path was suggested by Visual Studio itself

But my taskbar still shows the same icon as before (the standard one) - In my Explorer the .exe has the correct icon, it just won't change in the taskbar.

I also tried to end explorer.exe and restart the task, but this didn't help at all. I also tried to set the resolution on 16x16 and 32x32 but both didn't work.


回答1:


You need to give your form that icon as well. The application icon is the one that is embedded in the application and displayed in Explorer or on shortcuts. Each form can have its own icon, though.




回答2:


I've noticed a couple of things with Windows 7 and Windows 8. The Windows Taskbar icon is taken from the programs Shortcut's icon, not the applications icon.

If you assign your application an Icon through Visual Studio it will set an icon that appears in the form as well as in the notification area. However the taskbar icon and any shortcut's you create will not take the icon from the application, as they used to, instead they are created with the default shortcut icon.

So I found that I had to set up the Shortcut icon's (that lives in the Start Menu) as part of my installer for the application.

I don't have to do this for Windows XP.




回答3:


Set the Form.Icon Property through code also consider the below suggestion from MSDN

A form's icon designates the picture that represents the form in the taskbar as well as the icon that is displayed for the control box of the form. This property will have no effect if FormBorderStyle is set to FixedDialog. In that case, the form will not display an icon.




回答4:


1 - Add a file (e.g. Address_Book.ico) to Resources section

2 - Add follow lines in your code

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

3 - It Works.




回答5:


The icon set in the project properties is the icon of the executable and not the icon in the taskbar, the icon in the taskbar is the icon from the current form.

If you have multiple forms with the same icon and you set the icon of a form using the GUI then it will add multiple instances of the icon into the compiled executable file, this will lead to a larger compiled executable.

So you should put this Icon = Properties.Resources.icon; in the constructor of each form to set the icon of the form.

As for the icon size, im not sure what the max size is but i use 128x128 icon files.




回答6:


You will require to use notifyicon component from toolbox. Please follow the instructions as given below.

TaskBar with the Windows Forms NotifyIcon Component



来源:https://stackoverflow.com/questions/15246520/c-sharp-changing-the-icon-of-the-taskbar

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!