如何:检索作为嵌入资源的图像

更新:2007 年 11 月

本示例检索一个图像,该图像是程序集的嵌入资源。

过程

设置此示例

  1. 创建一个 Windows 窗体应用程序,其中包含一个名为 pictureBox1 的 PictureBox 控件。

  2. 将下面的代码示例添加到 Form1_Load 事件处理程序中。

    System.Reflection.Assembly thisExe;
    thisExe = System.Reflection.Assembly.GetExecutingAssembly();
    System.IO.Stream file = 
        thisExe.GetManifestResourceStream("AssemblyName.ImageFile.jpg");
    this.pictureBox1.Image = Image.FromStream(file);
    
  3. 将一个现有图像文件添加到该项目中,并在“解决方案资源管理器”中将其“生成操作”属性设置为“嵌入的资源”。

  4. 将 "AssemblyName.ImageFile.jpg" 替换为程序集中的资源的名称。

  5. 可以使用 Assembly 对象的 GetManifestResourceNames 方法查找该资源的名称。

可靠编程

以下情况可能会导致异常:

  • 嵌入的资源不在程序集中,因此调用 GetManifestResourceStream 将返回 Nothing。

  • 该文件类型(即,文件扩展名)可能没有关联的应用程序。

请参见

概念

在 Visual C# 中设计用户界面

其他资源

创建和使用位图和图标

Visual C# 指导教程