ITKeyword,专注技术干货聚合推荐

注册 | 登录

【Visual Studio风格开发系列 - Form 工具】如何为控件提供工具箱位图

wonsoft 分享于 2010-10-07

2020腾讯云共同战“疫”,助力复工(优惠前所未有!4核8G,5M带宽 1684元/3年),
地址https://cloud.tencent.com/act/cps/redirect?redirect=1053

2020阿里云最低价产品入口,含代金券(新老用户有优惠),
地址https://www.aliyun.com/minisite/goods

在我们使用.NET自带控件和一些第三方控件时,会发现他们提供的控件在工具箱中都有自己的图标,而自己制作的控件在工具箱中显示的都是默认的齿轮状图标。那么,怎么为自己开发的控件附上个性化图标呢?

    如果希望在工具箱中为控件显示特殊图标,可以通过使用 ToolboxBitmapAttribute 来指定一个特定的图像。此类是一种属性,这是一种可以附加到其他类上的特殊类。通过使用 ToolboxBitmapAttribute,可以指定一个字符串来指示一个 16 x 16 像素位图的路径和文件名。此位图在添加到“工具箱”后显示在对应的控件旁边。还可以指定 Type,在这种情况下会加载与该类型关联的位图。如果您同时指定 Type 和字符串,则控件在包含由 Type 参数指定的类型的程序集中搜索其名称由 String 参数指定的图像资源。  

    ToolboxBitmapAttribute 必须添加至控件的类声明中,且应置于类声明之前。

    综上所述,ToolboxBitmapAttribute有三种使用方式:

    (1)提供图标文件的完全路径名;
[ToolboxBitmap(@"C:/Documents and Settings/Joe/MyPics/myImage.bmp")] class MyControl2 : UserControl { }  

    注意:这种方式使用的是绝对路径,控件的DLL文件和图标文件是分开的。当图标文件不存在或者控件DLL

          文件在另一个主机上使用时,会因为无法找到图标文件,而在工具箱中显示默认的齿轮状图标。

    (2)提供控件类型的Type;

[ToolboxBitmap(typeof(Button))] class MyControl1 : UserControl { }

    注意:通过这种方式,控件在工具箱中和提供Type类型的控件显示同样的图标。

    (3)提供类型的Type以及由 String 参数指定的图像资源。

[ToolboxBitmap(typeof(MyControl), "Resources.Demo.ico")] class MyControl : UserControl { }

    注意:这里的String参数必须是相对路径,且图标文件必须是“嵌入的资源”。这里,Demo.ico文件在

          Resources文件夹下,而MyControl类型与Resources文件夹处于同一目录中,所以是相对路径。

     对于自动生成的控件和组件,位图将不出现在工具箱中。若要查看位图,请使用"选择工具箱"对话框重新加载控件。

在我们使用.NET自带控件和一些第三方控件时,会发现他们提供的控件在工具箱中都有自己的图标,而自己制作的控件在工具箱中显示的都是默认的齿轮状图标。那么,怎么为自己开发的控件附上个性化图

相关阅读排行


相关内容推荐

最新文章

×

×

请激活账号

为了能正常使用评论、编辑功能及以后陆续为用户提供的其他产品,请激活账号。

您的注册邮箱: 修改

重新发送激活邮件 进入我的邮箱

如果您没有收到激活邮件,请注意检查垃圾箱。