用户控件 属性 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
属性就会隐藏 属性。
我想创建列表 属性,其中 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
属性就会隐藏 属性。