System.Drawing.SystemColors的DefaultValue

Ozg*_*tak 4 .net c# user-controls winforms

我的自定义网格控件中有一个线条颜色属性.我希望它默认为Drawing.SystemColors.InactiveBorder.我试过了:

[DefaultValue(typeof(System.Drawing.SystemColors), "InactiveBorder")]
public Color LineColor { get; set; }
Run Code Online (Sandbox Code Playgroud)

但它似乎没有用.如何使用默认值属性执行此操作?

aku*_*aku 12

你需要从改变第一个参数SystemColorsColor.
似乎该类型没有类型转换器SystemColors,仅用于Color类型.

[DefaultValue(typeof(Color),"InactiveBorder")]
Run Code Online (Sandbox Code Playgroud)


Mat*_*hop 5

这可能会有所帮助:http : //support.microsoft.com/kb/311339-标题为“ DefaultValueAttribute类的MSDN文档可能令人困惑”的知识库文章