如何:为控件提供工具箱位图

如果希望在 Visual Studio 的“工具箱”中为控件显示特殊图标,可通过使用 ToolboxBitmapAttribute 指定特定的图像。 此类是一个特性,是一种可以附加到其他类上的特殊类。 有关特性的详细信息,请参阅 Visual Basic 的特性概述或 C# 的特性 (C#)

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

指定控件的工具箱位图

  1. ToolboxBitmapAttribute 添加到控件的类声明中,对于 Visual Basic 应置于 Class 关键字之前,对于 Visual C# 则应置于类声明之上。

    ' Specifies the bitmap associated with the Button type.
    <ToolboxBitmap(GetType(Button))> Class MyControl1
    ' Specifies a bitmap file.
    End Class
    <ToolboxBitmap("C:\Documents and Settings\Joe\MyPics\myImage.bmp")> _
       Class MyControl2
    End Class
    ' Specifies a type that indicates the assembly to search, and the name
    ' of an image resource to look for.
    <ToolboxBitmap(GetType(MyControl), "MyControlBitmap")> Class MyControl
    End Class
    
    // Specifies the bitmap associated with the Button type.
    [ToolboxBitmap(typeof(Button))]
    class MyControl1 : UserControl
    {
    }
    // Specifies a bitmap file.
    [ToolboxBitmap(@"C:\Documents and Settings\Joe\MyPics\myImage.bmp")]
    class MyControl2 : UserControl
    {
    }
    // Specifies a type that indicates the assembly to search, and the name
    // of an image resource to look for.
    [ToolboxBitmap(typeof(MyControl), "MyControlBitmap")]
    class MyControl : UserControl
    {
    }
    
  2. 重新生成项目。

    注意

    对于自动生成的控件和组件,位图不会出现在工具箱中。 若要查看位图,请使用“选择工具箱项”对话框重载控件。 有关详细信息,请参阅演练:使用自定义组件自动填充工具箱

另请参阅