在作自定义控件时碰到的问题
在作一个winform的自定义控件时,要给自定义控件添加在工具栏上显示的图片
使用了帮助里的方法:
[ToolboxBitmap(typeof(MyControl), "MyControlBitmap")]
class MyControl : UserControl
{
}
但是在工具箱里怎么也显示不出来,还是那个齿轮的图标,最后终于在帮助里
创作web控件的部分找到原因:没有把给控件用的位图编译到dll中,修改位图的生成操作为“嵌入的资源”后一切正常。
突然想到用Reflector看看,反编译后看到有一个Resources节点,展开后可以看到位图,以前从来没有注意过。
查找资料后明白在dll中嵌入的资源在IL里也是有标记的:.rsrc(废话,没标记怎么能反编译出来?),资源又分为托管和非托管两种,下面是我对自定义控件的dll反编译后看到的资源部分代码:
.mresource public CustomButton.Resource1.resources
{
}
.mresource public CustomButton.UserControl1.resources
{
}
.mresource public CustomButton.Bitmap1.bmp
{
}
这个.mresource标记的真正意义是Manifest Resource declarations 而不是我所预想的Manage Resource,但是这个Manifest 到底该怎么理解,偶用金山词霸还是找不到合适的。
还请大家多多指教
看到《.net框架程序设计》里Manifest是清单的意思