.NET中属性的限制值

时间:2009-02-05 15:29:15

标签: .net asp.net properties enums intellisense

我知道这可能是一个菜鸟的问题,但它正在惹恼我。

假设我有一个用户控件,我在.aspx页面中引用:

<uc:somecontrol runat="server" id="uc1" property1="red" />

如何在VS05中使用intellisense为property1显示“red”,“green”,“blue”等选项?类似于您希望在文本框上的模式中选择“文本”,“多行”和“密码”的方式。我正在使用VB。

谢谢!

2 个答案:

答案 0 :(得分:14)

使您的属性成为枚举而不是字符串。

Enum ControlColor
Red = 1
Blue = 2
Green = 3
End Enum

Public Property MyProperty As ControlColor

答案 1 :(得分:5)

如Rex所说,在新文件中定义枚举:

Public Enum ControlColor
    Red = 1
    Blue = 2
    Green = 3
End Enum

然后在你的控件中,像这样定义你的属性(我的VB语法生锈了,但我认为这是正确的):

Private _color As ControlColor

Public Property [Color] As ControlColor
    Get
        Return _color
    End Get
    Set (ByVal value As ControlColor)
        _color = value
    End Set
End Property