none
如何得到 visual studio 工具箱自带的图标。。。 RRS feed

答案

  • 如果是写自定控件的话,需要在控件的类上加下面的代码就可以显示指定的图标

    [ToolboxBitmap(typeof(Button))] // 和 Button 一样的图标
    public class jxButton : System.Windows.Forms.Button
    {
    	//
    }
    [ToolboxBitmap(typeof(Label))] // 和 Label 一样的图标
    public class jxLabel : System.Windows.Forms.Label
    {
    	//
    }
    
    


    知识改变命运,奋斗成就人生!
    • 已标记为答案 tssing 2009年5月30日 14:11
    2009年5月30日 14:07
    版主
  • 自定义图标也很简单,不需要写代码,你按下面的方式一步一步的做就可以了

        /// <summary>
        /// 标题:为控件创建自定义工具箱图标
        /// 作者:肖小勇
        /// 日期:2009-05-11 20:51
        /// 描述:
        ///       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. 自定义控件无须专门定义位图文件写代码
        /// </summary>
    public partial class ControlWithToolboxIcon : Control
    {
        public ControlWithToolboxIcon()
        {
            InitializeComponent();
        }
    
        protected override void OnPaint(PaintEventArgs pe)
        {
            base.OnPaint(pe);
        }
    }


    知识改变命运,奋斗成就人生!
    • 已标记为答案 tssing 2009年5月30日 14:15
    2009年5月30日 14:14
    版主
  • 你好!
         这样试试看:
    1. 使用 Visual Basic 或 Visual C# 新建一个名为 CustomControlWithToolboxIcon 的 WPF 自定义控件库项目。

      CustomControl1 的代码在“代码编辑器”中打开。

    2. “项目” 菜单中选择“添加新项”

      “添加新项” 对话框打开。

    3. “添加新项” 对话框中,选择“常规” 类别。

    4. “模板” 窗格中选择“位图文件” ,将新文件命名为 CustomControl1.Icon.bmp ,然后单击“添加” 。将打开图像编辑器。

    5. 在“属性”窗口中,将位图的“颜色” 属性设置为 24 bit

    6. 使用图像编辑器工具在位图中绘制图像。有关更多信息,请参见 图像编辑器

    7. “解决方案资源管理器” 中,选择 CustomControl1.Icon.bmp。

    8. 在“属性”窗口中,将“生成操作” 属性设置为“嵌入的资源”

    9. 生成解决方案。

    注意位图文件的命名约定,需要这样命名:命名空间.控件名 .Icon.扩展名
    你试试吧,我这里已经测试成功了!

    周雪峰
    • 已标记为答案 tssing 2009年5月30日 15:46
    2009年5月30日 15:20
    版主
  • 把变量.icon.bmp 放到 newfolder1 文件夹下面
    知识改变命运,奋斗成就人生!
    • 已标记为答案 tssing 2009年5月31日 7:16
    2009年5月31日 7:00
    版主
  • 第二张图,图片的文件名改为变量.icon.bmp
    知识改变命运,奋斗成就人生!
    2009年5月31日 7:08
    版主
  • 属性中的文件名
    知识改变命运,奋斗成就人生!
    • 已标记为答案 tssing 2009年5月31日 7:16
    2009年5月31日 7:11
    版主
  • 留下 Mail 发个例子给你
    知识改变命运,奋斗成就人生!
    • 已标记为答案 tssing 2009年5月31日 7:16
    2009年5月31日 7:15
    版主
  • 继承于System.Windows.Forms.Control的控件都有 OnPaint 事件, 至于你是否重写,那就是你自己的事了
    知识改变命运,奋斗成就人生!
    • 已标记为答案 tssing 2009年5月31日 8:08
    2009年5月31日 8:00
    版主

全部回复

  • 如果是写自定控件的话,需要在控件的类上加下面的代码就可以显示指定的图标

    [ToolboxBitmap(typeof(Button))] // 和 Button 一样的图标
    public class jxButton : System.Windows.Forms.Button
    {
    	//
    }
    [ToolboxBitmap(typeof(Label))] // 和 Label 一样的图标
    public class jxLabel : System.Windows.Forms.Label
    {
    	//
    }
    
    


    知识改变命运,奋斗成就人生!
    • 已标记为答案 tssing 2009年5月30日 14:11
    2009年5月30日 14:07
    版主
  • 如果是写自定控件的话,需要在控件的类上加下面的代码就可以显示指定的图标

    [ToolboxBitmap(typeof(Button))] // 和 Button 一样的图标
    public class jxButton : System.Windows.Forms.Button
    {
    	//
    }
    [ToolboxBitmap(typeof(Label))] // 和 Label 一样的图标
    public class jxLabel : System.Windows.Forms.Label
    {
    	//
    }
    
    


    知识改变命运,奋斗成就人生!
    谢谢你,, 是否能设置成导入resource的图
    2009年5月30日 14:12
  • 自定义图标也很简单,不需要写代码,你按下面的方式一步一步的做就可以了

        /// <summary>
        /// 标题:为控件创建自定义工具箱图标
        /// 作者:肖小勇
        /// 日期:2009-05-11 20:51
        /// 描述:
        ///       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. 自定义控件无须专门定义位图文件写代码
        /// </summary>
    public partial class ControlWithToolboxIcon : Control
    {
        public ControlWithToolboxIcon()
        {
            InitializeComponent();
        }
    
        protected override void OnPaint(PaintEventArgs pe)
        {
            base.OnPaint(pe);
        }
    }


    知识改变命运,奋斗成就人生!
    • 已标记为答案 tssing 2009年5月30日 14:15
    2009年5月30日 14:14
    版主
  • 说真的,我失败了,,看不太明白
    2009年5月30日 14:37
  • 简单说自定义控件和位置和文件名都一样,
    下面的地址是官方的说法,意思都差不多。 如果没对检查一下是不是 bmp 的 Color 是不是24
    http://msdn.microsoft.com/zh-cn/library/cc165606.aspx

    知识改变命运,奋斗成就人生!
    2009年5月30日 14:39
    版主
  • 你好!
         这样试试看:
    1. 使用 Visual Basic 或 Visual C# 新建一个名为 CustomControlWithToolboxIcon 的 WPF 自定义控件库项目。

      CustomControl1 的代码在“代码编辑器”中打开。

    2. “项目” 菜单中选择“添加新项”

      “添加新项” 对话框打开。

    3. “添加新项” 对话框中,选择“常规” 类别。

    4. “模板” 窗格中选择“位图文件” ,将新文件命名为 CustomControl1.Icon.bmp ,然后单击“添加” 。将打开图像编辑器。

    5. 在“属性”窗口中,将位图的“颜色” 属性设置为 24 bit

    6. 使用图像编辑器工具在位图中绘制图像。有关更多信息,请参见 图像编辑器

    7. “解决方案资源管理器” 中,选择 CustomControl1.Icon.bmp。

    8. 在“属性”窗口中,将“生成操作” 属性设置为“嵌入的资源”

    9. 生成解决方案。

    注意位图文件的命名约定,需要这样命名:命名空间.控件名 .Icon.扩展名
    你试试吧,我这里已经测试成功了!

    周雪峰
    • 已标记为答案 tssing 2009年5月30日 15:46
    2009年5月30日 15:20
    版主
  • 你好!
         这样试试看:
    1. 使用 Visual Basic 或 Visual C# 新建一个名为 CustomControlWithToolboxIcon 的 WPF 自定义控件库项目。

      CustomControl1 的代码在“代码编辑器”中打开。

    2. “项目” 菜单中选择“添加新项”

      “添加新项” 对话框打开。

    3. “添加新项” 对话框中,选择“常规” 类别。

    4. “模板” 窗格中选择“位图文件” ,将新文件命名为 CustomControl1.Icon.bmp ,然后单�%B

    2009年5月31日 6:58
  • 你好!
         这样试试看:
    1. 使用 Visual Basic 或 Visual C# 新建一个名为 CustomControlWithToolboxIcon 的 WPF 自定义控件库项目。

      CustomControl1 的代码在“代码编辑器”中打开。

    2. “项目” 菜单中选择“添加新项”

      “添加新项” 对话框打开。

    3. “添加新项” 对话框中,选择“常规” 类别。

    4. “模板” 窗格中选择“位图文件” ,将新文件命名为 CustomControl1.Icon.bmp ,然后单击“添加” 。将打开图像编辑器。

    5. 在“属性”窗口中,将位图的“颜色” 属性设置为 24 bit

    6. 使用图像编辑器工具在位图中绘制图像。有关更多信息,请参见 图像编辑器

    7. “解决方案资源管理器” 中,选择 CustomControl1.Icon.bmp。

    8. 在“属性”窗口中,将“生成操作” 属性设置为“嵌入的资源”

    9. 生成解决方案。

    注意位图文件的命名约定,需要这样命名:命名空间.控件名 .Icon.扩展名
    你试试吧,我这里已经测试成功了!

    周雪峰
    http://m323.mail.qq.com/data//334/381717905/groupattach/200905311451466ac21d8dd7cb0e616b21d08805aae298.jpg 还是一样,
    • 已标记为答案 tssing 2009年5月31日 7:16
    • 取消答案标记 tssing 2009年5月31日 7:16
    2009年5月31日 6:58
  • 把变量.icon.bmp 放到 newfolder1 文件夹下面
    知识改变命运,奋斗成就人生!
    • 已标记为答案 tssing 2009年5月31日 7:16
    2009年5月31日 7:00
    版主
  • 第二张图,图片的文件名改为变量.icon.bmp
    知识改变命运,奋斗成就人生!
    2009年5月31日 7:08
    版主
  • 改了....还是一样。。

    2009年5月31日 7:09
  • 属性中的文件名
    知识改变命运,奋斗成就人生!
    • 已标记为答案 tssing 2009年5月31日 7:16
    2009年5月31日 7:11
    版主
  • 属性中的文件名
    知识改变命运,奋斗成就人生!

    改了。。还是一样,,会不会只是wpf支持,,我是做winform的控件
    2009年5月31日 7:14
  • 留下 Mail 发个例子给你
    知识改变命运,奋斗成就人生!
    • 已标记为答案 tssing 2009年5月31日 7:16
    2009年5月31日 7:15
    版主
  • 留下 Mail 发个例子给你
    知识改变命运,奋斗成就人生!

    tssing1982@hotmail.com
    381717905@qq.com

    谢谢你的帮忙
    2009年5月31日 7:15
  • 留下 Mail 发个例子给你
    知识改变命运,奋斗成就人生!

    tssing1982@hotmail.com
    381717905@qq.com

    谢谢你的帮忙

    谢谢,理解了,
    但是,不是所有的控件都有onpaint,,,刚刚好我遇到的是component组件。。。
    2009年5月31日 7:57
  • 继承于System.Windows.Forms.Control的控件都有 OnPaint 事件, 至于你是否重写,那就是你自己的事了
    知识改变命运,奋斗成就人生!
    • 已标记为答案 tssing 2009年5月31日 8:08
    2009年5月31日 8:00
    版主
  • 继承于System.Windows.Forms.Control的控件都有 OnPaint 事件, 至于你是否重写,那就是你自己的事了
    知识改变命运,奋斗成就人生!

    你好。。。
    component跟control有区别也,比如backgroundworker就是component,,没有paint
    2009年5月31日 8:04
  • 继承于System.Windows.Forms.Control的控件都有 OnPaint 事件, 至于你是否重写,那就是你自己的事了
    知识改变命运,奋斗成就人生!

    你好。。。
    component跟control有区别也,比如backgroundworker就是component,,没有paint

    理解了,为什么不能一起放在文件夹 中,,奇怪奇怪,,拖出来就成功了。。
    2009年5月31日 8:06
  • 谢谢,已经解决,
    图标放在最外面,连在resource都不行,就这样就行了,谢谢,,
    2009年5月31日 8:09