Visual Studio - 具有可选属性的自定义控件

时间:2014-06-06 20:35:19

标签: c# user-controls visual-studio-2013

我想知道如何将属性添加到具有下拉菜单的自定义用户控件。基本上我想做同样的事情当你选择"无"," FixedSingle"或者是Fixed3D"在Panel用户控件中选择BorderStyle属性时。

我知道如何为一个属性做这件事:

[Description("Test text displayed in the textbox"),Category("Data")] 
public string Text {
  get { return myInnerTextBox.Text; }
  set { myInnerTextBox.Text = value; }
}

现在我希望能够从预定义的字符串列表中选择一个字符串。

2 个答案:

答案 0 :(得分:0)

这在过去有效。

[Bindable(true),
 Category("Data"),
 DefaultValue("Test text displayed in textbox")]

答案 1 :(得分:0)

您需要的是使您的属性成为一些自定义枚举类型而不是字符串,并为设计器提供适当的类型转换器。使其为枚举类型会限制它可能采用的值,例如"None", "FixedSingle" or Fixed3D"属于FormBorderStyleEnum

请参阅此类似问题:Expose a collection of enums (flags) in Visual Studio designer