使用Visual Studio 2010为自定义控件指定工具箱图标

When a custom control is placed on the toolbox, if it is a professionally made control, it usually has a really nice icon associated with it instead of the default custom control icon that Visual Studio inserts when no icon is available.  When you build your own custom control, you can add an icon for the control and embed it in your component's DLL assembly so that it is shown on the toolbox whenever someone adds your control.

当自定义控件放置在工具箱上时,如果它是专业制作的控件,则通常会与它关联一个非常漂亮的图标,而不是在没有可用图标时Visual Studio插入的默认自定义控件图标。 当您构建自己的自定义控件时,可以为该控件添加图标并将其嵌入到组件的DLL程序集中,以便在有人添加控件时在工具箱中显示该图标。

you need to follow below steps to add icon in your custom control.

您需要按照以下步骤在自定义控件中添加图标。

Step 1:

第1步:

Create your icon and save it as a bmp file (16x16), named as shown below.

创建您的图标,并将其另存为bmp文件(16x16),如下所示。

   ProjectNameSpace.ControlName.bmp

ProjectNameSpace.ControlNa 我

  e.g. Project Name : CustomGrid

例如,项目名称:CustomGrid

        Control Name : MyGridControl

控件名称:MyGridControl

Bmp File Name :  CustomGrid.MyGridControl.bmp

Bmp文件名:CustomGrid.MyGridControl.b mp

Step 2: Add in Project and Change Build Action Properties to "Embedded Resources".

步骤2:添加项目,并将“构建操作”属性更改为“嵌入式资源”。

Stpe 3: Add ToolboxBitmap line in your class file as per screenshot.

步骤3:按照屏幕快照在类文件中添加ToolboxBitmap行。

Toolbox Sample Code

Step 4 : Compile your Project as "Class Library".

步骤4:将您的项目编译为“类库”。

Step 5:  Add this control in Different Solution Project Toolbox using choose items and icon will display like below ( In Same Project icon can not display).

第5步:使用选择项在“不同解决方案项目工具箱”中添加此控件,图标将显示如下(在“相同项目”中无法显示图标)。

Toolbox

Download Sample Project : CustomGrid.zip

下载示例项目: CustomGrid.zip

翻译自: https://www.experts-exchange.com/articles/13236/Specifying-a-Toolbox-Icon-for-a-Custom-Control-using-Visual-Studio-2010.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VS风格的ToolBox和QQ的界面很相似,都是有多个栏目,并且这些栏目可以展开和折叠,当鼠标在某个子栏目上时,可以高亮显示,另外在VS风格的ToolBox中,点击选中项目的时候,要用特殊的颜色标识出来。 1. 创建件的边框,我在前边的文章也讲过(),直接将代码复制过来,稍做修改即可。 2. 添加滚动条,因为我们的件只需要垂直的滚动,所以我只只加入一个垂直的滚动条。 3. ToolBox包含多个Category,我们不但要创建Category类,还要创建这个类的集合。 4. 每一个Category包含多个Item,我们不但要创建ToolBoxItem类,还要创建这个类的集合。 5. 重载OnPaint方法,绘制件的内容,在绘制的时候要注意滚动条的当前值,由于采用了双缓冲机制,所以每次总是将所有的内容重绘一次,不考虑ClipRect。 6. 写一个方法,根据鼠标的坐标计算出鼠标指向的Item或者Category,这个方法是这个件的核心。 7. 重载OnMouseMove方法,当鼠标指向某个Item的时候,高亮显示出来。 8. 重载 OnMouseDown方法,当鼠标在某个Item上按下的时候,用指定的颜色标识出来,如果鼠标按下的地方是一个Category,根据当前的情况展开或者时折叠这个category。 9. 计算件当前状态的内容的总的高度,用于设置滚动条的可见与不可见。 10. 暴露一个属性,用于为用户提供当前选中的Item。 11. 声明一个ItemChanged事件,便于用户在选择另一个Item时添加处理的代码。 实现了上述的内容,这个件也就基本完成了。由于代码并不复杂,我就不将代码列出来讲解了,我将提供代码的下载,大家在看代码的时候,如有不明白的地方,可以参考我前面的件教程。因为只花了几个小时写的这个件,难免还有一些问题,请大家指出。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值