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

时间:2010-11-06 00:16:36

标签: c# winforms resources

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

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

非常感谢您的帮助。

4 个答案:

答案 0 :(得分:9)

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

e.g。

this.BackgroundImage = Properties.Resources.MyImage;

答案 1 :(得分:6)

为了完成,我想详细说明列出的一些答案。

嵌入Resources.resx

应该在创建WinForms项目时创建

Resources.resx。您可以在Properties的{​​{1}}下查看。

enter image description here

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

enter image description here

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

  

this.BackgroundImage = Properties.Resources.MyImage;


通过设计师

嵌入表单

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

在下面的图片中,您可以看到" scrape.ico"文件被设置为Resources.resx表单Main

enter image description here

此示例最终会在Icon表单的设计器中生成一行,就像这样......

Main

其中...

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

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

main.resx

答案 2 :(得分:1)

你总能这样做。

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

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

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

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

答案 3 :(得分:0)

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

以下代码将展示它。

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等)

希望对某些人有益。

谢谢。