如何将x和y属性加到location属性底下,就像label控件的Location一样,在属性栏里一点击Location属性,就显示出X和Y。X,Y取值决定Location。category只是属性的分类,要怎么做才能达到这种效果呢?Location应该怎么写,X,Y属性又应该怎么写啊?高手指点!
        [Category("位置"), Description("设置显示X位置")]
        public int X
        {
            get
            {
                return _X;
            }
            set
            {
                _X= value;
            }
        }
        [Category("位置"), Description("设置显示Y位置")]
        public int Y
        {
            get
            {
                return _Y;
            }
            set
            {
                _Y= value;
            }
        }

解决方案 »

  1.   

    因为Point已经用PointConverter修饰过了,你直接用Point就可以了:
    public class My
    {
        public string Name { get; set; }
        public Point Location { get; set; }       //<---
    }
    如果你一定要自定义中文显示,可以自己写继承于ExpandableObjectConverter的TypeConverter。
      

  2.   


    对不起,我的意思你可以没明白,我的意思是个比方。主要目的是生成dll后,引用dll控件,在它的属性栏中有三个属性,一个属性点击前面的“+”号,另外两个属性就显示出来。就像Label属性的Location一样包含X,Y属性。
      

  3.   

    这个只是分类。我说的是:
    生成dll后,引用dll控件,在它的属性栏中有三个属性x,y,z,"Z"属性点击前面有个“+”号,点击"+"号另外两个属性就显示出来。就像Label属性的Location一样包含X,Y属性。即:将X,Y属性放在Z属性下。是相当于Location属性在属性栏中一样的效果
      

  4.   

    http://msdn.microsoft.com/zh-cn/library/system.componentmodel(VS.80).aspx
    你自己去查一下吧