C#应用程序
怎么样在属性栏中自定义个imagelist属性
我这样写的
privet ImageList _imagelist=new ImageList();
pulic ImageList Imagelist
{
get{return _imagelist;}
set{_imagelist=value}
}
但是添加图片时提示“参数必须是 IMAGE 类型 , 参数名VALUE”
我该怎么做
怎么样在属性栏中自定义个imagelist属性
我这样写的
privet ImageList _imagelist=new ImageList();
pulic ImageList Imagelist
{
get{return _imagelist;}
set{_imagelist=value}
}
但是添加图片时提示“参数必须是 IMAGE 类型 , 参数名VALUE”
我该怎么做
[Edit...什么什么]
pulic ImageList Imagelist
{
get{return _imagelist;}
set{_imagelist=value}
} 在属性上加个[Browsable(true)],就会出现在设计时的属性栏了.
还要加个[Ed....]
查下属性扩展
{
get{return _imagelist;}
set{_imagelist=value}
}
pulic ImageList Imagelist
{
get{return _imagelist;}
set{_imagelist=value}
}
--------------------------
这样写可以了。
[Browsable(true)] 默认就是true了但是添加图片时提示“参数必须是 IMAGE 类型 , 参数名VALUE”
--------------------------------------------------------
看看你添加的代码,传进去的参数是不是Image类型。
private ImageList _imagelist=new ImageList();
public ImageList Imagelist
{
get { return _imagelist; }
set { _imagelist = value; }
}
private void Form1_Load(object sender, EventArgs e)
{
Imagelist.Images.Add(Image.FromFile(@"C:\1.bmp"));
}
using System.Drawing.Design;
using System.Windows.Forms.Design;使用的时候 [DefaultValue("FA"), Category("FFF"), Description("文件"), ReadOnlyAttribute(false), EditorAttribute(typeof(MyDialog), typeof(System.Drawing.Design.UITypeEditor))] public class MyDialog : UITypeEditor
{
public DialogResult OpenDialog(object Value, ref object SetValue)
{
//处理自己处理.
} public override UITypeEditorEditStyle GetEditStyle(System.ComponentModel.ITypeDescriptorContext context)
{
return UITypeEditorEditStyle.Modal;
}
public override object EditValue(System.ComponentModel.ITypeDescriptorContext context, System.IServiceProvider provider, object value)
{ IWindowsFormsEditorService edSvc = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService));
if (edSvc != null)
{
object SetValue = null; if (OpenDialog(value, ref SetValue) == DialogResult.OK)
{
return SetValue;
}
}
return value;
} }