在usercontrol派生类中,我可以执行以下操作。
Bitmap whocares;
public Bitmap WhoCares { get { return whocares; } set { whocares = value; } }
这使我能够为该位图“选择资源”。 我想做的是有一个位图列表,所有这些都可以这样选择。
List<Bitmap> blabla = new List<Bitmap>();
public List<Bitmap> BlaBla { get { return blabla; } set { blabla = value; } }
这给了我一个“位图集合编辑器”,但是它没有创建有效的位图对象。
我创建了CollectionEditor的派生类,称为ImagesEditor
class ImagesEditor : CollectionEditor
{
public ImagesEditor(Type type) : base(type)
{
}
protected override object CreateInstance(Type type)
{
UITypeEditor editor = new System.Drawing.Design.BitmapEditor();
return editor.EditValue(this.Context, null);
}
protected override CollectionForm CreateCollectionForm()
{
CollectionForm form = base.CreateCollectionForm();
form.Text = "List of Images Editor";
return form;
}
}
//somewhere else
List<Bitmap> blabla = new List<Bitmap>();
[Editor(typeof(ImagesEditor), typeof(UITypeEditor))]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible | DesignerSerializationVisibility.Content)]
public List<Bitmap> BlaBla { get { return blabla; } set { blabla = value; } }
这会提示我(单击“添加”按钮时)选择要导入以供控件使用的位图文件。我希望它是“选择资源”。
我该如何去实现呢?