更改Windows窗体应用程序中的默认图标
我需要更改我正在处理的应用程序中的图标。 但只需从项目属性选项卡 – > 应用程序 – > 图标浏览其他图标,它不会获取存储在桌面上的图标..
什么是正确的做法呢?
您在桌面上看到的图标不是图标文件。 它们是可执行文件.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");
如果你不能立即findForm
的代码,search你的整个项目( CTRL+SHIFT+F
)为显示的窗口标题(假定文本是静态的)
您可以更改项目属性下的应用程序图标。 表单属性下的单个表单图标。
在解决scheme资源pipe理器中,右键单击项目标题并在上下文菜单中select“属性”以打开“项目属性”窗体。 在“应用程序”选项卡上的“资源”组框中,有一个input字段,您可以在其中select想要用于应用程序的图标文件。
一旦图标在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;
每次工作。
我发现最简单的方法是:
- 将一个图标文件添加到您的WinForms项目。
- 将图标文件的构build操作更改为embedded式资源
-
在主窗体加载function中:
Icon = LoadIcon(“<该图标文件的文件名称>”);
我将.ico文件添加到我的项目中,将Build Action设置为Embedded Resource 。 我将该文件的path指定为项目设置中的项目图标,然后在窗体的构造函数中使用下面的代码来分享它。 这样,我不需要在图标的任何地方维护一个资源文件。 所有我需要做的更新是取代文件。
var exe = System.Reflection.Assembly.GetExecutingAssembly(); var iconStream = exe.GetManifestResourceStream("Namespace.IconName.ico"); if (iconStream != null) Icon = new Icon(iconStream);