C# 在运行时添加图标

C# 在运行时添加图标,c#,winforms,C#,Winforms,我有一个gui。我正在通过单击按钮以编程方式从原始表单创建一个新表单 Form frm1 = new Form(); frm1.ShowDialog(); 我还想在此表单中添加图标(默认除外)。 我查看了主窗体是如何添加图标的,我发现了这一点 this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); 如何对新表单执行相同操作,以及应将新图标放置在哪个目录中?(因为我在上面发布的主表单的自动生成代码不清楚)这

我有一个gui。我正在通过单击按钮以编程方式从原始表单创建一个新表单

Form frm1 = new Form();
frm1.ShowDialog();
我还想在此表单中添加图标(默认除外)。 我查看了主窗体是如何添加图标的,我发现了这一点

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

如何对新表单执行相同操作,以及应将新图标放置在哪个目录中?(因为我在上面发布的主表单的自动生成代码不清楚)

这里有两个选项

1) 如果您有一个扩展名为.ico的文件,您可以使用Icon的类构造函数加载它

string pathToIconFile = ...
this.Icon = new Icon(pathToIconFile);
2) 您可以在Properties项目文件夹中创建图标资源。打开“属性”后,单击Resources.resx,并在其中添加资源->添加新图标菜单项。这将创建一个图标。您还可以将图标从现有文件加载到资源中,在这种情况下,图标将构建在可执行文件中。选项1的不同之处在于,您不需要将图标文件与可执行文件一起分发,这样就可以在运行时加载它(记住PathToConfile) 因此,当您的图标添加为资源时,它将被赋予一些名称。如果是myIconResource,则可以如下设置窗体图标:

this.Icon = Properties.Resource.myIconResource;

你有两个选择

1) 如果您有一个扩展名为.ico的文件,您可以使用Icon的类构造函数加载它

string pathToIconFile = ...
this.Icon = new Icon(pathToIconFile);
2) 您可以在Properties项目文件夹中创建图标资源。打开“属性”后,单击Resources.resx,并在其中添加资源->添加新图标菜单项。这将创建一个图标。您还可以将图标从现有文件加载到资源中,在这种情况下,图标将构建在可执行文件中。选项1的不同之处在于,您不需要将图标文件与可执行文件一起分发,这样就可以在运行时加载它(记住PathToConfile) 因此,当您的图标添加为资源时,它将被赋予一些名称。如果是myIconResource,则可以如下设置窗体图标:

this.Icon = Properties.Resource.myIconResource;

非常感谢你的帮助!非常感谢你的帮助!