用于在Forms Designer中访问自定义属性的属性

时间:2009-10-30 02:31:33

标签: c# attributes windows-forms-designer

我有一个有Rods列表的控件。 Rods有一些公共场所:


    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 ;)
    }

在托管Rods的控件中,列表声明为:

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

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

看起来我需要将列表装饰为:

[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]

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