在Windows Forms应用程序中更改默认图标


89

我需要在正在处理的应用程序中更改图标。但是只是从项目属性选项卡->应用程序->图标中浏览其他图标,这并没有使图标存储在桌面上。

正确的做法是什么?


您是否要更改表单或应用程序的属性?
Matt Ellen

桌面上存储了哪些图标?确保其为ico格式。
Shoban

如何将jpg转换为ico格式?
Srivastava

如果你正在寻找那些已经在正确的格式在应用程序中使用,看到这个问题的答案图标:stackoverflow.com/questions/4142203/...
科迪灰色

Answers:


87

您在桌面上看到的图标不是图标文件。它们是可执行文件.exe或任何应用程序.lnk的快捷方式。因此只能设置扩展名为.ico的图标。

转到项目菜单-> Your_Project_Name属性->应用程序选项卡->资源->图标

浏览您的图标,记住它必须具有.ico扩展名

您可以在Visual Studio中制作图标

转到项目菜单->添加新项目->图标文件


22

任务栏和窗口标题中显示的图标是主窗体的图标。通过更改其图标,您还可以设置任务栏上显示的图标(如果已包含在* .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(假定文本是静态的)


10

您可以在项目属性下更改应用程序图标。表单属性下的单个表单图标。


9

将图标添加为资源(项目> yourprojectname属性>资源>从下拉列表中选择图标>添加资源(或者,如果您已经具有.ico,则从下拉列表中选择添加现有文件)

然后:

this.Icon = Properties.Resources.youriconname;


1
这是最好的答案。这甚至与发布的单EXE文件的工作
杰罗姆MEVEL

完善。在VB.Net中,我使用了Icon = My.Resources.youriconname
Richard Moore,

这应该是最佳答案。唯一的图标保留在exe文件中。
DanielMöller

5

一旦图标在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; 

每次都能工作。


1
Works everytime.错了,如果应用程序发布为一个单一的exe文件不起作用
杰罗姆MEVEL

3

在解决方案资源管理器上,右键单击项目标题,然后在上下文菜单中选择“属性”以打开“项目属性”表单。在“应用程序”选项卡的“资源”组框中,有一个输入字段,您可以在其中选择要用于应用程序的图标文件。


除此之外,他还必须更改表格的图标
KansaiRobot

3

我将.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);

1

我发现最简单的方法是:

  1. 将一个图标文件添加到您的WinForms项目。
  2. 将图标文件的生成操作更改为“嵌入式资源”
  3. 在主窗体加载功能中:

    Icon = LoadIcon(“ <该图标文件的文件名>”);


0

最简单的解决办法是在这里:如果您正在使用Visual Studio的Solution Explorer,你的项目文件,点击右键。选择Properties。选择,Icon and manifest然后浏览.ico文件。


0

从项目选项卡中选择项目属性,然后选择应用程序->资源->图标和清单->更改默认图标

可以在Visual Studio 2019中正常运行注意:只有.ico格式的文件可以作为图标添加


0

选择主窗体->属性-> Windows样式->图标->浏览您的ico

this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.