而我们在不作任何处理的情况下,在生成控件并放到工具箱中时,是使用默认的图标,样子有点难看。
如何自定义图标呢?
我使用的是 ToolboxBitmap 属性
使用 ToolboxBitmap 时需要 using System.Drawing;
首先准备一个和你的控件类型同名的 bmp 文件
比如
- public class MyWebControl: WebControl
- {
- }
类型中,你的 bmp 文件就必须是 MyWebControl.bmp
现在就可以利用 ToolBoxBitmap 了
- [ToolboxBitmap(typeof(MyWebControl), "MyWebControl.bmp")]
- public class MyWebControl : WebControl
- {
- }
MyWebControl.bmp 是放在根目录下的
如果你的 MyWebControl.bmp 放在其它目录下就要这样引用,如放在 icon 目录中
- [ToolboxBitmap(typeof(MyWebControl), "icon.MyWebControl.bmp")]
编译之后拖到工具箱中试试看.
还有不使用 ToolboxBitmap 属性的方法
用一个 bitmap 图片(不能是一个 icon 图片,嵌入资源)文件
例如你有一个命名空间 LemongTreeControl,自定义控件为 Bar 的项目。
1:按照上面图片规则来建立一个命名为 Bar.bmp 的图片,添加该图片到你的项目,
2:把该 Bar.bmp 的图片设置属性 生成操作设置为"嵌入的资源"
3:注意该图片的命名空间必须也是 LemongTreeControl
4:如果该控件的命名空间和项目的默认命名空间不匹配,你必须把该 bitmap 图片移到适当的子目录让他们匹配。如果你使用该方法无效,很显然你不能使用该技术来实现你自定义图片,你可以下面 ToolboxBitmap 属性技术来实现
5:注明我使用直接在根目录中的方式取的工具箱中的图标。
上面简单的技术来实现你的需求,而不需要你去使用 ToolboxBitmapAttribute 去产生你的类型