2009-10-30 33 views
0

我有一个包含标签列表的控件。棒有一些公共属性:用于访问窗体设计器中的自定义属性的属性


    public class Rod 
    { 
     float Angle { get; set; } 
     Color MainColour { get; set; } 
     int Length { get; set; } 
     int Width { get; set; } 
     //other private code here you need not be concerned with ;) 
    } 

在承载杆控制,名单被声明为:

public List<Rod> Rods { get; set; }

我希望能够选择一个RodsHost控制和点击“Rods”属性页面,并通过Forms Designer GUI在该控件上编辑Rods。目前,我可以将Rods添加到列表中,但不能编辑Rod的属性(Angle,MainColour等)。我尝试将属性[DesignTimeVisible(true)]应用于Rods类,这似乎不起作用。我想也许我应该使用Designer属性,但我不确定我需要哪个Designer类。任何人都有一个建议?

回答

1

它看起来像我需要装饰名单为:

[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]

,以及添加一个构造函数来设置一些适当的默认值。

1

我不知道这是否可以帮助你,但我所做的是创建一个userControl并在其中创建属性为get set。然后,这些属性将自动显示在Visual IDE的“属性”窗格中。

+0

我试过了,但似乎没有奏效。当我编辑列表时,从Control继承的常规属性显示在“属性”窗格中,但我添加的自定义属性未显示。 – FrustratedWithFormsDesigner 2009-11-04 02:55:34