如何向用户控件添加类似于项目的属性?

时间:2010-04-22 01:07:10

标签: .net winforms user-interface user-controls properties

向用户控件添加简单属性非常简单,用户控件将出现在Windows窗体设计器中的所需类别中,例如:

[Category("Appearance")]
public Color BackColor {
    get { return _textBox.BackColor; }
    set { _textBox.BackColor = value; }
}

如果我想公开更复杂的属性,例如我定义的类型的项集合,该怎么办?我正在考虑ListView.Items属性或DataGridView.Columns属性的内容 - 控件的用户可以通过更专业的弹出窗体访问此复杂属性(相对于一个简单的TextBox或ComboBox)。

即使是朝着正确方向的简单推动,也会非常感激。

1 个答案:

答案 0 :(得分:3)

微调是UITypeEditor,它允许您为任何类型的属性(包括集合)创建自定义编辑器。在框架中有很多例子,保持Reflector方便。