2013-01-09 91 views
4

我想设置一个自定义的C#控件属性。C#自定义控件属性:无法设置DefaultValue字段

这里是我的代码:

/* Cancel's button text */ 
[Category("ComboTouch"), 
Description("Text to display in cancel button"), 
DefaultValue("Cancel")] 
public String ct_cancelButtonText { get; set; } 

,当我使用在其他项目中的定制控制(你可以在图片中看到)我能得到的财产;但配置参数DefaultValue似乎不起作用。

有人能帮助我吗?非常感谢你。

Custom Control Properties

13年1月10日更新。非常感谢你的回答,你解决了我的问题。

我想和大家分享如何我终于可以自动设置默认值:

private String m_cancelButtonText="Cancel"; 

    /* Cancel's button text */ 
    [Category("ComboTouch"), 
    Description("Text to display in cancel button"), 
    DefaultValue("Cancel")] 
    public String ct_cancelButtonText 
    { 
     get 
     { 
      return m_cancelButtonText; 
     } 
     set 
     { 
      m_cancelButtonText = value; 
     } 
    } 

一个好奇:请检查“取消”的文本格式。如果我设置DefaultValue类型;它看起来像普通文字。但如果我不这样做,它看起来像加粗文字。我知道这很愚蠢,但我想知道为什么这样。谢谢。

enter image description here

+0

visual studio属性选项卡中的默认值显示为正常文本,更改后的属性显示为粗体。不知何故,VS发现它并未默认设置。 – CathalMF

回答

4

documentation指出:

甲DefaultValueAttribute不会造成构件与该属性的值被自动初始化。您必须在代码中设置初始值。

+2

并且当您这样做时,确保您为DefaultValue()和字段初始化使用单个(专用)常量。不要两次输入相同的东西。 :) –

+0

非常感谢,你解决了我的问题。我用示例代码编辑了这个问题,还有一个问题。 – Oskytar

相关问题