我有一个WinForms应用程序。我已经在项目设置中设置了可执行文件的图标(至少16x16和32x32格式),它成功地显示在资源管理器和其他地方的.exe文件中。
我如何将此图标设置为窗体的图标(Form.Icon属性或其他属性)?它可以在窗体左侧的标题栏中使用,并且将用于在任务栏中显示窗体。
据我所知,System.Drawing.Icon无法使用多个图标格式创建,但是...当用户启用了“小图标”选项时,任务栏的图标应该是16x16。当禁用此选项时,它应为32x32。如果图标大小错误,Windows会对其进行缩放,看起来很糟糕。
Icon.ExtractAssociatedIcon只给我一个格式(32x32)。 P/Invoking ExtractIconEx会给我两个格式(16x16和32x32),但我无法将其组合在一个System.Drawing.Icon实例中以设置为Form.Icon。
当然,我可以使用.ico文件从窗体属性设置图标,但这将导致资源重复:一个图标存储在PE中作为可执行文件的图标,另一个图标存储为.NET资源。
再次,请问:我应该使用什么设置使exe的图标成为窗体的图标,并在任何任务栏设置下正常工作?
我如何将此图标设置为窗体的图标(Form.Icon属性或其他属性)?它可以在窗体左侧的标题栏中使用,并且将用于在任务栏中显示窗体。
据我所知,System.Drawing.Icon无法使用多个图标格式创建,但是...当用户启用了“小图标”选项时,任务栏的图标应该是16x16。当禁用此选项时,它应为32x32。如果图标大小错误,Windows会对其进行缩放,看起来很糟糕。
Icon.ExtractAssociatedIcon只给我一个格式(32x32)。 P/Invoking ExtractIconEx会给我两个格式(16x16和32x32),但我无法将其组合在一个System.Drawing.Icon实例中以设置为Form.Icon。
当然,我可以使用.ico文件从窗体属性设置图标,但这将导致资源重复:一个图标存储在PE中作为可执行文件的图标,另一个图标存储为.NET资源。
再次,请问:我应该使用什么设置使exe的图标成为窗体的图标,并在任何任务栏设置下正常工作?