用户控件 属性 c#

User Control Property c#

我想创建列表 属性,其中 UserControl 个要在设计时添加和 select 个项目。做这个的最好方式是什么?这是相关代码:

 public partial class UserControl1 : UserControl
{
    List<string> _item = new List<string>();

   [Browsable(true)]
    public List<string> item
    {
        set
        {              
            _item = value;              
        }
        get
        {
            return _item;
        }
    }

我在列表中添加了项目,但在设计时无法select。

编辑: 我想创建一个 属性 用户控件,如下所示:

您需要告知设计师如何编辑 属性:

[Editor("System.Windows.Forms.Design.ListControlStringCollectionEditor, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor))]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
[MergableProperty(false)]
public List<string> Items
{
    get
    {
        ...

Editor 属性指向包含设计人员可以呈现给最终用户的编辑器的类型。

代码生成部分需要 DesignerSerializationVisibility 属性,否则输入的项目不会在生成的 InitializeComponent() 方法中结束。

一旦选择了多个控件,MergableProperty 属性就会隐藏 属性。