C#自定义控件属性:无法设置DefaultValue字段

4

我是一款自定义的 C# 控件,想要设置控件属性。

这是我的代码:

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

当我在其他项目中使用自定义控件时,我可以获取属性(如图所示);但是配置参数DefaultValue似乎无法工作。有人能帮助我吗?非常感谢。
01/10/13更新。非常感谢您的答案,您解决了我的问题。
我想分享一下我最终如何自动设置默认值:
  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类型,则看起来像普通文本。但是如果我不这样做,它看起来像加粗文本。我知道这很傻,但我想知道为什么会这样。谢谢。

在Visual Studio的属性选项卡中,缺省值显示为普通文本,而更改的属性则显示为粗体。不知何故,VS能够识别出它不是由默认设置所产生的。 - CathalMF
1个回答

4

如文档所述:DefaultValueAttribute不能自动初始化成员变量。您需要在代码中设置初始值。


2
当你这样做时,请确保为DefaultValue()和字段初始化使用单个(私有)常量。不要重复输入相同的内容。 :) - Matthew Watson
非常感谢,你解决了我的问题。我已经编辑了问题并添加了示例代码和另一个问题。 - Oskytar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接