日期:2014-05-18  浏览次数:20962 次

自己写的控件,如何让Text属性在显示在VS的属性列表中?
我自己用C#封装了一个Windows公共控件里的IPAddress控件.
想把基类UserControl的Text属性重载后用来获取/设置控件中
的地址.可是在VS的窗体编辑器的属性列表中就是见不到这个属性.
该怎么做才能显示呢?

附,重载属性的代码:

C# code
        public  override string Text
        {
            get
            {
                return Address.ToString();
            }
            set
            {
                IPAddress addr = IPAddress.Parse (value);
                SetAddress (addr);
            }
        }


------解决方案--------------------
C# code
       [CategoryAttribute("外观"),Browsable(True),DisplayName("自定义属性"),DescriptionAttribute("Text属性")]
        public  override string Text
        {
            get
            {
                return Address.ToString();
            }
            set
            {
                IPAddress addr = IPAddress.Parse (value);
                SetAddress (addr);
            }
        }

------解决方案--------------------
在属性前面加上Attribute就可以了
------解决方案--------------------
C# code

[Browsable(true)]
public  override string Text
{
    get
    {
        return Address.ToString();
    }
    set
    {
        IPAddress addr = IPAddress.Parse (value);
        SetAddress (addr);
    }
}