就象ListView中的Columns属性一样,可在设计模式下直接编辑。

解决方案 »

  1.   

    http://www.yesky.com/20020822/1626612.shtml仔细看完===================================================
    技术交流不该有界限 资源共享不该有条件
    博客空间:http://blog.csdn.net/lovingkiss
    资源下载:http://download.csdn.net/user/lovingkiss
    Email:loving-kiss@163.com
    本人说明:<我的帖子我做主,结贴率保持100%>
    1、欢迎一切问题有关的交流——无论答案对错;
    2、不欢迎 顶、Mark、支持之类口水混分的人;
    3、对带有性别的主题和求全部毕业代码者尽量不回答;
    我保留对非<散分贴>蹭分者的厌恶和鄙视...
    精通:jīnɡtōnɡ对学问技术等透彻的了解并熟练掌握
    所以,我没有精通,只有JZ
    ===================================================
      

  2.   

    试试这个:
    //这是个含有属性的自定义控件,属性可以在IDE中设置
     public partial class UserControl1 : UserControl
        {
            public UserControl1()
            {
                InitializeComponent();
            }
            public ListBox.ObjectCollection MyItems
            {
                get { return this.listBox1.Items; }
                set 
                {
                    if (value != null)
                    {
                        foreach (object obj in value)
                        {
                            this.listBox1.Items.Add(obj);
                        }
                    }              
                
                }
            }    }
      

  3.   

    试试这个:
    //这是个含有属性的自定义控件,属性可以在IDE中设置
     public partial class UserControl1 : UserControl
        {
            public UserControl1()
            {
                InitializeComponent();
            }
            public ListBox.ObjectCollection MyItems
            {
                get { return this.listBox1.Items; }
                set 
                {
                    if (value != null)
                    {
                        foreach (object obj in value)
                        {
                            this.listBox1.Items.Add(obj);
                        }
                    }              
                
                }
            }    }
      

  4.   

    试试这个:
    //这是个含有属性的自定义控件,属性可以在IDE中设置
     public partial class UserControl1 : UserControl
        {
            public UserControl1()
            {
                InitializeComponent();
            }
            public ListBox.ObjectCollection MyItems
            {
                get { return this.listBox1.Items; }
                set 
                {
                    if (value != null)
                    {
                        foreach (object obj in value)
                        {
                            this.listBox1.Items.Add(obj);
                        }
                    }              
                
                }
            }    }
      

  5.   

    问题基本解决。
    1.属性的类继承IList或CollectionBase等,并定义属性ColumnHeader this[int index],属性编辑器自动知道该集合的元素类型为ColumnHeader;
    2.在集合属性上声明特性[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)],代码编辑器自动会自动生成"listView1.Columns.Add(this.columnHeader1)"等代码添加新的ColumnHeader(但不是AddRange方法);
    3. BTW,属性上用不着声明特性[EditorAttribute(typeof(System.ComponentModel.Design.CollectionEditor), typeof(System.Drawing.Design.UITypeEditor))]谢谢大家关心。
      

  6.   

    看看这个
    http://www.cnblogs.com/Clingingboy/archive/2006/09/16/505920.html
      

  7.   

    还有这个
    http://www.cnblogs.com/Clingingboy/archive/2007/05/22/754921.html