3

我在 Visual Studio 2012 C# 中有一个游戏应用程序。我在项目的资源文件中拥有我正在使用的所有 .png 图像。

您知道为什么我可以使用 Properties.Resources 访问所有文件,但只有一个文件?

我检查了完整的文件路径并将其设置为资源文件夹。它像我一样添加到程序中 Add -> Existing Item 并添加了图像。

它看起来就像其他图像一样。我不知道为什么它没有加载。我需要这个,因为我需要通过电子邮件向我的讲师发送一个 .exe,如果没有这个图像,这个项目就什么都不是!

在此处输入图像描述

我在资源文件中添加了这个

internal static System.Drawing.Bitmap grid_fw {
            get
            {
                object obj = ResourceManager.GetObject("grid.fw", resourceCulture);
                return ((System.Drawing.Bitmap)(obj));
            }
        }

虽然现在网格可用,但它返回 null :/

4

2 回答 2

4

发现自:Properties.Resources 图标名称没有出现在智能感知中

您还需要将图标添加到Resources.resx文件中。在 Visual Studio 中打开它并将您的图标拖到 resx 的图标菜单中,它将变为可用。

另请参阅添加和编辑资源 (Visual C#)

于 2012-12-10T20:14:00.893 回答
1

您可以通过以下方式获取对图像的引用:

Image myImage = Resources.yourImage;

如果要制作图像的副本,则需要执行以下操作:

Bitmap bmp = new Bitmap(Resources.yourImage);

完成后不要忘记处理bmp。如果您在编译时不知道资源映像的名称,可以使用资源管理器:

ResourceManager rm = Resources.ResourceManager;
Bitmap yourImage = (Bitmap)rm.GetObject("yourImage");

ResourceManager 的好处是您可以在 Resources.myImage 通常超出范围或您想要动态访问资源的地方使用它。此外,这适用于声音、配置文件等。

于 2012-12-10T20:09:44.953 回答