用C#制作一个dll,里面需要用到一图片。如何将这图片封装到dll里面,因为这个dll是给别人用的,我又不想让人家看到这图片。

解决方案 »

  1.   

    放置一个picture控件,在控件的属性中选image,弹出的“选择资源”对话框中选择本地资源,导入你的那张图片,确定,就OK了。不要采用fromfile之类的代码在运行时导入,那样图片是在dll程序之外,单独的,可以看到。前面的做法图片是包含在dll文件之中,看不到。
    也可以不用picture控件,用其它能显示图片的控件也行,道理是一样的。
      

  2.   

    谢楼上,我现在根本无法放置控件。是不是我做错了吗?我是用“文件---新建----项目----类库”,这样无法拖入控件。
    还有什么方法,既可以拖入控件,又可以生成dll。
      

  3.   

    封装图片 ?
    怎么封装 图片放进去  打包dll?好像不能把除非二进制
      

  4.   

    应该是你的dll没有做对。dll,如果没有界面的那种,是无法从工具箱中拖入控件的。你的dll继承一下usercontrol类,或者建项目时选择“windows窗体控件库”,都会有界面的,你试试吧。
      

  5.   

    图片拖到library工程里,点图片的属性build action改为 embeded resource 就可以了。
    dll 再写个类,提供读取Resouce的方法就可以了。
      

  6.   

    圖片文件的編譯方式設為內嵌方式。這樣程序編譯時,就會把圖片放入dll的MetaData中,通過reflection可以取出來使用.或者直接使用VS的Resources功能,引用即可。