首页 > 技术文章 > 为自定义控件设置图标 ——ToolboxBitmap的用法

cbltech 2020-12-01 07:21 原文

为自定义控件设置图标 

——ToolboxBitmap的用法

最近在写自定义的.Net自定义控件时,发现自定义的控件。在工具箱都显示为 这样图标。 是不是感觉很low。

 

所以尝试是不是可以为自定义控件定义自己的图标。 找了一堆资料后,自己亲自测试如下:

首先,准备了一张图片格式是jpg,大小是500X500。 参考网上的资料,说必须是bmp格式,大小要16x16 。 .jpg /.png /.ico / .bmp 都试过了,都可以,大小也没有限制。

老铁们,还是要自己多求证,不要轻易信息随意拿来的信息哈。 这里图片大小我想,应该是小点好,至少可以节省内存。

 

 

 我这边用的是VS2013, 新建一个项目,在项目里新建一个窗体应用程序和一个类库。

 

 

 

在类库中,创建一个自定义控件。把图片添加当类库。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace ClassLibrary1
{
    [ToolboxBitmap(typeof(MyCtr), "sun.jpg")]
    public partial class MyCtr : UserControl
    {
        public MyCtr()
        {
            InitializeComponent();
        }
    }
}

public ToolboxBitmapAttribute(Type t,string imageFile)

t: 为当前自定义控件名称

imageFile:图片路径,这里我们直接用"sun.jpg",表示图片在当前项目路径下。

 

 在窗体应用程序中,引用类库生产的DLL。 

 

 

 

打开Form1, 在工具箱中。 你会发现,在ClassLibray1中,已经有了MyCtr控件图标,但其图标并没有变成我们设置的那样。 不要急。下面我在工具“选择项”,

再加载一下ClassLibray1.dll 。 

 

 

 哎,这下发现了。有我们想要的图标的自定义控件了。

 

 

 

 

 

 

推荐阅读