When I run my wpf application in debug mode, the icon on the taskbar looks fine (left image), but after I published and open the application, the icon looks pixelated (right image).
I've referred to this link and I set the icon image to 256x256, but still looks pixelated.
Please help.
try using an ico editor to save the icon with all the correct resolutions (the OS will display the correct one). I use icofx, but there are many options if you google it - they should all correct your image proportions. Most should have an equivalent option to the 'save windows icon' (in icofx) where you select all the resolutions you want to add to the file.
Just another thought - is you icon a resource file? If so you may need to remove it then add it again and make sure the resource is set to publish correctly (so you are not using an old version).
Related
I have placed an Image of my liking in the Default Icon section of General Settings. It is still not changing my game's icon. I followed the procedure from How do i add an icon to my Unity Game but it did not help.
I have a WinForms application. I've set up the executable's icon (with at least 16x16 and 32x32 formats) in project settings and it is successfully shown in Explorer and elsewhere for .exe file.
How can I set this icon as form's icon (Form.Icon property or something)? It may be used in form's header at left and it will be used to show form in taskbar.
As I know, System.Drawing.Icon can't be created with multiple icon formats, but.. when user has his taskbar with 'small icons' enabled, the icon for taskbar should be 16x16. When this option is disabled, it should be 32x32. If icon has wrong size, the windows will scale it and it will look terrible.
Icon.ExtractAssociatedIcon gives me only one format (32x32). P/Invoking ExtractIconEx gives me both formats (16x16 and 32x32), but I unable to combine it in one System.Drawing.Icon instance to set to Form.Icon.
Of course, I can set the icon with form's properties from .ico file, but it will give me the resource duplication: one icon is stored in PE as executable's icon and another is stored as .NET resource.
Again, the question is: what settings I should use to make the exe's icon to be form's icon and work as it should with any taskbar settings?
It seems like the default icon handling routines in Windows and .Net don't extract multisize icons from modules well. The Icon class has tricky usage where it pulls in all the data from an icon file and then only uses one size, and you can create a new Icon object from that original Icon for a different size and it will share the data and extract the nearest size. Unfortunately methods to easily work with multi size icons aren't really included.
Here is code that will let you do what you want from Code Project, written for exactly your purpose: assigning the multisize icon from the EXE file to your forms.
Assigning an applications icon to all the forms in the application
Once you have the library added to your project, you can just assign the singleton property HostIcon to your form's icon property:
this.icon = Cliver.IconRoutines.HostIcon;
I'm developing a WPF that needs to make desktop icons and folder icons bigger while the WPF is active
and returns them to their previous state when closing the WPF
basically I want to be able to control the following options programmatically:
Folders icons :
desktop icons:
also how to change folder option to single click mode :
Folder icon settings are often per-folder and you will have a hard time forcing your preferences on them. You can probably find some descriptions of the registry locations and format if you search the internet for "shellbags" but this puts you in undocumented territory.
The desktop icon mode can probably be changed by undocumented/hacky means but you should just let the user do it.
You might be able to change the double-click mode by playing with fDoubleClickInWebView and SHGetSetSettings.
I am working on windows 8.1 app and I found that it contains default splash screen which we can't remove. Is there a way we can remove it something similar to windows phone 8. I want a splash screen which loads until a particular process is completed (example zip extraction,editing resources etc). I also did some research and found that Extended Splash Screen will help but if I add a progress ring, people using the app will know the difference that there are two screens. Please anyone suggest what will be the best approach?
You need to go to the Package.manifest, through Visual Studio, and change the splash screen value. Here is a link to the Xaml version and the steps:
Open your app in Visual Studio 2013.
From Solution Explorer, open the "Package.appxmanifest".
Open the Visual Assets tab, select Splash Screen and you'll see the "Assets\SplashScreen.png" path in the Splash Screen field which you can change to whatever you want.
Then you can use the Extend Splash Screen functionality to continue the screen until your app is ready.
The splash screen is an image in the root folder of the project. you can edit it in any image editor.
While you cannot remove the splashscreen, one option is to use a screen shot of your main page as a splashscreen, this way giving the impression that the app starts quickly.
In your Visual Studio Solution, Right click "package.phone.appxmanifest" --> View Code and comment this line: <m3:SplashScreen Image="images\SplashScreenPhone.png" /> . And the default splashscreen in windows app will be removed. Note: Manifest file name might defer for phone and windows app.
I have a Windows Forms application and I want to add a cool little visual to its thumbnail on the Windows Taskbar.
I know that you can have the thumbnail display a Progress Marquee-style thing, but how do we just change the color of it?
I'm not talking about changing the color of the icon, but the color that's behind the icon. Is this even possible?
Any code, documentation or anything to get me on the right track will be much appreciated.
You can use the TaskBar APIs available in the Windows API code pack
// This will highlight the icon in red
TaskbarManager.Instance.SetProgressState(TaskbarProgressBarState.Error);
// to highlight the entire icon
TaskbarManager.Instance.SetProgressValue(100,100);
Please note that this API was intended to indicate an error with a progressing operation (file copy, etc..)