Skip to content

System.Drawing.SystemIcons.Shield icon is incorrect in Windows 7 and above #8753

@aquinn39

Description

@aquinn39

.NET version

7.0

Did it work in .NET Framework?

No

Did it work in any of the earlier releases of .NET Core or .NET 5+?

Not sure. Also unsure if it worked in .Net Framework or not.

Issue description

According to https://learn.microsoft.com/en-us/dotnet/api/system.drawing.systemicons.shield, the shield icon should be used on any control whose default action requires elevation to administrator privileges. Looking at https://learn.microsoft.com/en-us/windows/win32/uxguide/winenv-uac, the shield icon used to indicate elevation is required is a blue and yellow shield whereas SystemIcons.Shield, despite being recommended for controls whose default action requires elevation, uses a red, green, blue and yellow shield icon as you can see in the image below:
image.
If we look at some UIs in Windows 11, it uses a blue and yellow shield as expected:
image

It seems that the icon used in System.Drawing.SystemIcons.Shield is actually the older icon from Windows Vista:
image
Whereas it seems to have been changed in to the blue and yellow in Windows 7 and above, but the one in System.Drawing.SystemIcons.Shield was never updated:
image

Steps to reproduce

Show System.Drawing.SystemIcons.Shield anywhere in a UI.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions