none
VS2005自定义控件工具箱图标问题 RRS feed

  • 问题

  • 大家好!
      我现在遇到了一个这样的问题, 我自定义了一个控件, 我想他在工具箱中也显示一个图标,我用  控件名.BMP建了一个位图文件, 或者用[ToolboxBitmap("C:\\Documents and Settings\\Administrator\\桌面\\WindowsControlLibrary2\\WindowsControlLibrary2\\UserZhouControl.bmp")]这个方法来指定,可把这个控件生成DLL后使用都正常, 我把这个DLL在其它的计算机上用也正常, 但问题出现了,我之前的那个工具箱的图标又变成齿轮了. 感觉是图标文件没有打包进去.   请问大家这个问题如何解决!!!!!   不甚感激!
    2009年5月11日 10:35

答案

  • 你好,可以按下面的操作实现

        /// 描述:
        ///       1. 用 Visual C# 新建一个自定义控件库项目
        ///       2. 在项目中添加 ControlWithToolboxIcon 的自定义控件
        ///       3. 从“项目”菜单中选择“添加新项”, 在“添加新项”对话框中,选择“常规”类别。
        ///       4. 在“模板”窗格中选择“位图文件”,将新文件命名为 ControlWithToolboxIcon.bmp,然后单击“添加”。将打开图像编辑器
        ///       5. 使用图像编辑器工具在位图中绘制图像
        ///       6. 在“属性”窗口中,将位图的“颜色”属性设置为 24 bit
        ///       7. 在“解决方案资源管理器”中,选择 ControlWithToolboxIcon.bmp, 在“属性”窗口中,将“生成操作”属性设置为“嵌入的资源”
        ///       8. 生成解决方案
        ///       9. 在工具箱中添加此控件
        ///       
        /// 注意:
        ///       1. 自定义控件名必须和位图文件名一样, 如 ControlWithToolboxIcon.cs 和 ControlWithToolboxIcon.bmp
        ///       2. 位图的 Color 须为 24
        ///       3. 自定义控件名必须和位图文件最好在同文件夹下,并且自定义控件的默认名称空间不要修改
        ///       4. 自定义控件无须专门定义位图文件写代码

    知识改变命运,奋斗成就人生!
    2009年5月11日 13:26
    版主
  • 谢谢各位 .NET人!!
    • 已标记为答案 周超群 2009年5月12日 0:31
    2009年5月12日 0:26

全部回复

  • 你好!
    把那个位图作为资源嵌入程序集中,然后通过这样的方法来实现:
    [System.Drawing.ToolboxBitmap(typeof(StopSignControl2), "StopSignControl2.bmp"
    
    )]

    周雪峰
    2009年5月11日 11:38
    版主
  • 你好,

    一、请创建一个 16x16 的ICON文件。
    二、图像文件名必须和类名一样。
    三、请确认图片地址路径正确。

    邹俊才
    2009年5月11日 11:59
    版主
  • 你好,可以按下面的操作实现

        /// 描述:
        ///       1. 用 Visual C# 新建一个自定义控件库项目
        ///       2. 在项目中添加 ControlWithToolboxIcon 的自定义控件
        ///       3. 从“项目”菜单中选择“添加新项”, 在“添加新项”对话框中,选择“常规”类别。
        ///       4. 在“模板”窗格中选择“位图文件”,将新文件命名为 ControlWithToolboxIcon.bmp,然后单击“添加”。将打开图像编辑器
        ///       5. 使用图像编辑器工具在位图中绘制图像
        ///       6. 在“属性”窗口中,将位图的“颜色”属性设置为 24 bit
        ///       7. 在“解决方案资源管理器”中,选择 ControlWithToolboxIcon.bmp, 在“属性”窗口中,将“生成操作”属性设置为“嵌入的资源”
        ///       8. 生成解决方案
        ///       9. 在工具箱中添加此控件
        ///       
        /// 注意:
        ///       1. 自定义控件名必须和位图文件名一样, 如 ControlWithToolboxIcon.cs 和 ControlWithToolboxIcon.bmp
        ///       2. 位图的 Color 须为 24
        ///       3. 自定义控件名必须和位图文件最好在同文件夹下,并且自定义控件的默认名称空间不要修改
        ///       4. 自定义控件无须专门定义位图文件写代码

    知识改变命运,奋斗成就人生!
    2009年5月11日 13:26
    版主
  • 谢谢各位 .NET人!!
    • 已标记为答案 周超群 2009年5月12日 0:31
    2009年5月12日 0:26