用C#工程 编译生成的 dll 怎么包含图片啊(如gif图片)?

解决方案 »

  1.   

    public class Class1
    {
    public Class1()
    {
    //
    // TODO: 在此加入建構函式的程式碼
    //
    this.GetType().Assembly.GetManifestResourceStream( "TryDllWithPicture.background.JPG" );
    } public System.IO.Stream ReturnStream()
    {
    return this.GetType().Assembly.GetManifestResourceStream( "TryDllWithPicture.background.JPG" );
    }
    }其中編譯時,background.JPG要為內嵌資源。然後在你要調用的程序中寫如下代碼:
    private void Form1_Load(object sender, System.EventArgs e)
    {
    TryDllWithPicture.Class1 ttt = new Class1();
    pictureBox1.Image = Image.FromStream( ttt.ReturnStream() );
    }
      

  2.   

    好人 解释 一下 这是 什么意思啊??
    说的具体一点。。呵呵。。
    System.Reflection.Assembly myAssembly;myAssembly = System.Reflection.Assembly.Load("<程序集名>");// Creates the ResourceManager.
    System.Resources.ResourceManager myManager = new 
       System.Resources.ResourceManager("<资源的命名空间>.<资源根名>", 
       myAssembly);// Retrieves String and Image resources.
    System.String myString;
    System.Drawing.Image myImage;
    myString = myManager.GetString("<字符串资源名>");
    myImage = (System.Drawing.Image)myManager.GetObject("<图像资源名>");
      

  3.   

    利用Reflection(反射)機制來實現資源的動態綁定,關於Reflection不是一兩句能說明白的,還是先先這方面的書吧,你的問題用內嵌資源就可以很好的解決,可以不用到反射的,我上面寫的程序已經測試過了,沒問題的。
      

  4.   

    在你的解决方案浏览器(solution explorer)选中你要包含到最后生成的.ll中去的图片,如myPic.gif ,然后在其属性窗口(Properties),修改"生成方式"(Build Action)为"嵌入资源"(Embeded Resource),然后BUILD即可
      

  5.   

    多谢 mysterious(空折枝) 好心人啊。