我需要在正在处理的应用程序中更改图标。但是只是从项目属性选项卡->应用程序->图标中浏览其他图标,这并没有使图标存储在桌面上。
正确的做法是什么?
我需要在正在处理的应用程序中更改图标。但是只是从项目属性选项卡->应用程序->图标中浏览其他图标,这并没有使图标存储在桌面上。
正确的做法是什么?
Answers:
您在桌面上看到的图标不是图标文件。它们是可执行文件.exe或任何应用程序.lnk的快捷方式。因此只能设置扩展名为.ico的图标。
转到项目菜单-> Your_Project_Name属性->应用程序选项卡->资源->图标
浏览您的图标,记住它必须具有.ico扩展名
您可以在Visual Studio中制作图标
转到项目菜单->添加新项目->图标文件
任务栏和窗口标题中显示的图标是主窗体的图标。通过更改其图标,您还可以设置任务栏上显示的图标(如果已包含在* .resx中):
System.ComponentModel.ComponentResourceManager resources =
new System.ComponentModel.ComponentResourceManager(typeof(MyForm));
this.Icon = ((System.Drawing.Icon)(resources.GetObject("statusnormal.Icon")));
或者,直接从您的参考资料中阅读:
this.Icon = new Icon("Resources/statusnormal.ico");
如果您无法立即找到的代码,请在Form
整个项目(CTRL+SHIFT+F
)中搜索显示的Window-Title(假定文本是静态的)
将图标添加为资源(项目> yourprojectname属性>资源>从下拉列表中选择图标>添加资源(或者,如果您已经具有.ico,则从下拉列表中选择添加现有文件)
然后:
this.Icon = Properties.Resources.youriconname;
一旦图标在Visual Studio中为.ICO格式,我就使用
//This uses the file u give it to make an icon.
Icon icon = Icon.ExtractAssociatedIcon(String);//pulls icon from .ico and makes it then icon object.
//Assign icon to the icon property of the form
this.Icon = icon;
简而言之
Icon icon = Icon.ExtractAssociatedIcon("FILE/Path");
this.Icon = icon;
每次都能工作。
Works everytime.
错了,如果应用程序发布为一个单一的exe文件不起作用
在解决方案资源管理器上,右键单击项目标题,然后在上下文菜单中选择“属性”以打开“项目属性”表单。在“应用程序”选项卡的“资源”组框中,有一个输入字段,您可以在其中选择要用于应用程序的图标文件。
我将.ico文件添加到了我的项目中,并将Build Action设置为Embedded Resource。我在项目设置中将该文件的路径指定为项目的图标,然后在窗体的构造函数中使用下面的代码来共享它。这样,我无需在带有图标副本的任何地方维护资源文件。我需要做的就是更新它来替换文件。
var exe = System.Reflection.Assembly.GetExecutingAssembly();
var iconStream = exe.GetManifestResourceStream("Namespace.IconName.ico");
if (iconStream != null) Icon = new Icon(iconStream);
从项目选项卡中选择项目属性,然后选择应用程序->资源->图标和清单->更改默认图标
可以在Visual Studio 2019中正常运行注意:只有.ico格式的文件可以作为图标添加