为了更方便,如果您的资源和加载资源的类碰巧使用了相同的命名空间,则可以将类的类型作为可选的第一参数传递给 GetManifestResourceStream:
namespace ResourcesApp {
public class Form1 : Form {
public Form1() {
...
// Get this type’s assembly
Assembly assem = this.GetType().Assembly;
// Load the resource using a namespace
// Will load resource named "ResourcesApp.Azul.jpg"
Stream stream =
assem.GetManifestResourceStream(this.GetType(), "Azul.jpg");
// Load the bitmap from the stream
this.BackgroundImage = new Bitmap(stream);
}
...
}
}
GetManifestResourceStream 将使用如下格式编写资源名称:
<namespace>.<fileName>
在加载某些类型(比如 Bitmap 类)时,使用类型和文件名也是有用的,这样可以通过提供构造函数避免由您自己打开流:
namespace ResourcesApp { public class Form1 : Form { public Form1() { ... // Get this type’s assembly Assembly assem = this.GetType().Assembly; // Load the bitmap directly from the manifest resources this.BackgroundImage = new Bitmap(this.GetType(), "Azul.jpg"); } ... }}
返回页首
Visual Studio .NET 中的清单资源
如果(大多数情况下)您使用 Visual Studio?NET 来开发和构建程序集,则用命令行嵌入清单资源的方法不可能非常吸引您。这种情况下,您可以将资源添加到 Windows 窗体项目中,该方法将把合适的命令行参数传递给编译器。
要将资源添加到项目中,请在 Solution Explorer 中右键单击项目,然后选择 Add New Item,并选择您想作为资源嵌入的文件。文件将复制到项目的目录中,但仍然不会被嵌入。要使文件作为资源嵌入,请右键单击文件,并选择 Properties,然后将 Build Action 从 Content(默认)更改为 Embedded Resource,如图 3 所示。
文章来源于领测软件测试网 https://www.ltesting.net/