2012-11-20 36 views
1

我正在寫一個基於TextBox的新自定義控件,以便使用標準符號顯示數字值,例如, 12.34e5。我添加了一個新的十進制類型的Value屬性,並將其設置爲顯示在Visual Studio的屬性窗口中。當用戶在設計時更新Value屬性時,如何讓Text屬性同時更新?我看過有關DesignMode屬性的帖子 - 這是否是正確的路徑,如果是這樣的話?在WinForms自定義控件中,新的屬性在設計時如何更改另一個屬性?

我意識到NumericUpDown提供數字顯示,但它不適合項目要求。

+1

您是否嘗試過在'Value'屬性的setter中設置'Text'屬性? –

回答

1

您需要設置Text底層TextBox的屬性才能滿足您的期望。

如果從UserControl類派生你可以通過設置文本框的Text屬性,你在你的價值setter方法使用像這樣做:

public decimal Value 
{ 
    get{ return _value; } 
    set 
    { 
     _value = value; 
     textBox1.Text = _value.ToString(); 
    } 
} 

如果您是直接從TextBox獲得,只需將它自己的Text屬性。

public decimal Value 
{ 
    get{ return _value; } 
    set 
    { 
     _value = value; 
     this.Text = _value.ToString(); 
    } 
} 
+0

完美!謝謝! – BWHazel

相關問題