WinForm中自定义控件的ToolBox图标问题

huangxiaofei 2011-04-15 12:00:18
我知道这个问题不是第一次提出了,Goolge了以后看了很多贴子,但是仍然没有解决我的问题。现在就把这个问题在这里详细说一下,希望能找到正确的方案。

目的:给自定义控件(Custom Control)添加ToolBox自定义图标,而不是默认的齿轮图标。

通过在Google,查询到的方法总结如下:

在工程文件中通过“添加”功能,加入一个BMP文件作为自定义图标
图标的像素必须是16x16
图标的色彩深度必须是24bit
图标的名称必须和自定义控件类名称相同(在这里为AlarmControl)
图标必须放在项目的根目录下(也有说法说可以在项目下新建文件夹,再将图标放入),两种方法均试验过

在控件类前面添加ToolboxBitmap属性,部分代码如下:

namespace AlarmClockControl
{
[ToolboxBitmap(typeof(AlarmControl),"AlarmControl.BMP")]
public partial class AlarmControl : Control
{
private DateTime alarm = DateTime.MaxValue;
private static DateTime now = DateTime.Now;
...


在做了上面所说的所有一切并重新编译后,我发现,ToolBox里自定义控件的图标还是他娘的齿轮,赤裸裸的齿轮!!!

各位高手,我上面所提及的方法和步骤有什么遗漏没?怎样才能让我的自定义图标生效啊?希望赐教!
...全文
367 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
huck 2013-10-05
  • 打赏
  • 举报
回复
把这个,"AlarmControl.BMP"去掉,就OK了
huangxiaofei 2011-04-15
  • 打赏
  • 举报
回复
哦,那一步也做了,忘了写了,但是,还是不行!
SecretGarden 2011-04-15
  • 打赏
  • 举报
回复
图标文件在哪里是不重要的,大小和颜色深度也是不重要的,名称也无所谓,关键是要作为资源嵌入。
项目资源管理器中在图标文件上点击右键,查看文件属性,属性中的“生成操作”改为“嵌入的资源”
huangxiaofei 2011-04-15
  • 打赏
  • 举报
回复
书上说,我只要把ToolboxBitmap属性设置好了以后,编译过后工具栏就应该自动更新自定义图标。顺便说一声,我的图标就是自己用绘画板画的。
SecretGarden 2011-04-15
  • 打赏
  • 举报
回复
我估计你的图标格式还是有问题
不要用自己的图标,直接在 VS 中新建一个 16 色图标试试
SecretGarden 2011-04-15
  • 打赏
  • 举报
回复
那我也没办法了,从 ToolBox 中移除控件,重新加载
huangxiaofei 2011-04-15
  • 打赏
  • 举报
回复
刚才说的两个都试过了,还是齿轮呢?
SecretGarden 2011-04-15
  • 打赏
  • 举报
回复
应该是没有问题了。再尝试一下这两点:
1、图标文件改为 16 色(即 4 位)
2、typeof(AlarmClockControl.AlarmControl)

110,545

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧