ArcGIS 二次开发增加工具栏按钮时,给按钮图标设置失败

 

在类的构造函数中通过下面的代码获得的bitmap为null:

string bitmapResourceName = GetType().Name + ".bmp";
base.m_bitmap = new Bitmap(GetType(), bitmapResourceName);

抛出 Resource 'XXX.bmp' cannot be found in class ‘XXXX.XXX.XXX’中

查了一下资料,发现有人提到Build Action" property should be set to " Embedded Resourse",我突然想到Assembly.GetManifestResourceStream 是从当前程序集加载指定的清单资源,呵呵,我要加载的图片仅仅是放在项目文件夹中并包含在项目中,这个不能算是程序集中的资源阿。赶紧从项目文件列表中找到相应图片,果然发现图片的属性-〉生成操作类型是“编译”,将其改成“嵌入的资源”,重新编译,RUN。哈哈,一切都OK了。

 

 

 

参考文章

Bitmap.FromStream(GetType().Assembly.GetManifestResourceStream())出现System.ArgumentException的解决办法

 

posted @ 2017-04-13 13:54  wenglabs  阅读(704)  评论(0编辑  收藏  举报