为自定义控件设置图标
——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 。
哎,这下发现了。有我们想要的图标的自定义控件了。