C#应用程序
怎么样在属性栏中自定义个imagelist属性
我这样写的
privet ImageList _imagelist=new ImageList();
pulic ImageList Imagelist
{
 get{return _imagelist;}
set{_imagelist=value}
}
但是添加图片时提示“参数必须是 IMAGE 类型 , 参数名VALUE”
我该怎么做

解决方案 »

  1.   

    [Browsable(true)]
    [Edit...什么什么]
    pulic ImageList Imagelist 

    get{return _imagelist;} 
    set{_imagelist=value} 
    } 在属性上加个[Browsable(true)],就会出现在设计时的属性栏了. 
    还要加个[Ed....] 
    查下属性扩展
      

  2.   

    [Browsable(true)]pulic ImageList Imagelist 

    get{return _imagelist;} 
    set{_imagelist=value} 

      

  3.   

    privet ImageList _imagelist=new ImageList(); 
    pulic ImageList Imagelist 

    get{return _imagelist;} 
    set{_imagelist=value} 

    --------------------------
    这样写可以了。
    [Browsable(true)] 默认就是true了但是添加图片时提示“参数必须是 IMAGE 类型 , 参数名VALUE”
    --------------------------------------------------------
    看看你添加的代码,传进去的参数是不是Image类型。
      

  4.   

    .bmp  .jpg  都不好用
      

  5.   

    这样用的.
      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")); 
            }
      

  6.   

    引用
    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;
                }        }