资源,放置它们的位置以及如何在C#中引用它们

我已经使用过C#和其他编程语言一段时间了,我很惭愧地说我不熟悉在哪里放置程序图标等资源的标准,以及如何在我的代码中引用它们。

具体来说,对于C#Windows窗体应用程序,在哪里放置我的图标资源是合适的,一旦我将它们放在正确的位置,引用它们的路径是什么?

非常感谢您的帮助。

您可以将Resources.resx文件添加到项目中,并向其中添加图像,字符串,文件等资源。 然后,您可以通过自动生成的Resources类引用这些资源。 默认情况下,Visual Studio将在Properties目录中创建一个Resources.resx文件。 默认情况下,您添加到资源文件的任何资源都将添加到Resources目录中。

例如

 this.BackgroundImage = Properties.Resources.MyImage; 

为了完成,我想阐述一些列出的答案。

嵌入Resources.resx

应该在创建WinForms项目时创建Resources.resx 。 您可以在Solution Explorer Properties下查看它。

在此处输入图像描述

双击Resources.resx以打开设计器。 您可以从Windows Explorer复制并粘贴到VS资源设计器中。 这个工具很聪明,可以确定它是什么类型的资源,你可以在下面的屏幕截图中看到类似的资源类型在菜单栏的下拉列表下组合在一起。

在此处输入图像描述

从这一点开始,您可以按照接受的答案并手动将资源分配给控件的属性…

this.BackgroundImage = Properties.Resources.MyImage;


通过设计师嵌入表格

使用设计器,您可以在表单的.resx嵌入资源。 在设计器中选择控件并打开“ Properties窗口( F4是默认快捷键)。 找到适当的属性,例如表单的Icon 。 单击省略号按钮以显示“ Open File对话框。 浏览到资源(如果你将它嵌入到Resources.resx它实际上将在Resources文件夹中 – 当你将第一个资源添加到Resources.resx时就会创建 – 你应该使用上面的第一个方法),并且选择正确的资源。

在下图中,您可以看到“scrape.ico”文件被设置Main窗体的Icon

在此处输入图像描述

这个例子最终会在Main表单的设计器中生成一行,就像这样……

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

哪里…

 System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Main)); 

并在main.resx

   ...img data...   

你可以这样做。

转到项目 – >项目属性(始终是项目名称+属性) – >资源

在上方菜单栏中,您将找到一个combobox,您可以在其中选择要用作资源的元素类型。

示例:如果您需要更改表单的图标(显示在表单左上角的图标),则您将上传“.ico”文件。 如果需要插入按钮图像,则必须上传“.png”文件。 你可以看到这个Resx文件教程 youtubevideo,它完美地解释了它

完成此操作后,选择要插入图像的控件,然后转到“属性” – >“图像”,然后从“项目资源文件”选项中选择刚刚添加的图像。

下面是从资源文件夹中获取图像的代码。 通常我们将图像保存在资源文件夹中。 但有时我们只有我们的图像名称。 在这种情况下,您只能使用图像名称从资源文件夹访问图像。

下面的代码将展示它。

 private System.Resources.ResourceManager RM = new System.Resources.ResourceManager("YourApplicationNameSpace.Properties.Resources", typeof(Resources).Assembly); PictureBox1.Image = (Image)RM.GetObject(YourPictureName); 
  • YourAppliacationNameSpace表示您的应用程序的名称。
  • YourPictureName表示您要从资源文件夹访问的图片。 但图片名称必须没有扩展名,例如(PNG,GIF,JPEG等)

希望这对某些人有益。

谢谢。