2013-01-09 161 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

相關問題