在我们使用.NET自带控件和一些第三方控件时,会发现他们提供的控件在工具箱中都有自己的图标,而自己制作的控件在工具箱中显示的都是默认的齿轮状图标。那么,怎么为自己开发的控件附上个性化图标呢?
如果希望在工具箱中为控件显示特殊图标,可以通过使用 ToolboxBitmapAttribute 来指定一个特定的图像。此类是一种属性,这是一种可以附加到其他类上的特殊类。通过使用 ToolboxBitmapAttribute,可以指定一个字符串来指示一个 16 x 16 像素位图的路径和文件名。此位图在添加到“工具箱”后显示在对应的控件旁边。还可以指定 Type,在这种情况下会加载与该类型关联的位图。如果您同时指定 Type 和字符串,则控件在包含由 Type 参数指定的类型的程序集中搜索其名称由 String 参数指定的图像资源。
ToolboxBitmapAttribute 必须添加至控件的类声明中,且应置于类声明之前。
综上所述,ToolboxBitmapAttribute有三种使用方式:
(1)提供图标文件的完全路径名;
注意:这种方式使用的是绝对路径,控件的DLL文件和图标文件是分开的。当图标文件不存在或者控件DLL
文件在另一个主机上使用时,会因为无法找到图标文件,而在工具箱中显示默认的齿轮状图标。
(2)提供控件类型的Type;
注意:通过这种方式,控件在工具箱中和提供Type类型的控件显示同样的图标。
(3)提供类型的Type以及由 String 参数指定的图像资源。
注意:这里的String参数必须是相对路径,且图标文件必须是“嵌入的资源”。这里,Demo.ico文件在
Resources文件夹下,而MyControl类型与Resources文件夹处于同一目录中,所以是相对路径。
对于自动生成的控件和组件,位图将不出现在工具箱中。若要查看位图,请使用"选择工具箱"对话框重新加载控件。 |