List< Rectangle>作为财产.设计模式不允许改变矩形的属性

本文关键字:改变 不允许 属性 设计模式 财产 Rectangle List | 更新日期: 2023-09-27 18:17:51

使用Microsoft Visual c#

我正在制作一个自定义控件,它有一个矩形列表我像这样创建List

private List<Rectangle> _Rect = new List<Rectangle>();
public List<Rectangle> Rect { get { return _Rect; } set { _Rect = value; } }

在设计模式下,当我将控件添加到窗体中时,我不能更改列表。在属性窗口,我点击矩形,它有一个收集框。方框打开,允许我添加新的矩形,但是矩形的属性显示"对象不匹配目标类型"

如果我添加矩形而不是列表,它确实有效。更复杂的性质也可以。自定义类列表。

任何想法?

List< Rectangle>作为财产.设计模式不允许改变矩形的属性

我认为这与RectangleConverter如何暴露Rectangle以在PropertyGrid中进行操纵有关。例如,请参阅控件或窗体上的Bounds属性。您可以通过创建不使用相同TypeConverter的新Rectangle类来绕过这一点,或者您可以切换到不使用RectangleConverterRectangleF