我正在寫一個基於TextBox的新自定義控件,以便使用標準符號顯示數字值,例如, 12.34e5。我添加了一個新的十進制類型的Value屬性,並將其設置爲顯示在Visual Studio的屬性窗口中。當用戶在設計時更新Value屬性時,如何讓Text屬性同時更新?我看過有關DesignMode屬性的帖子 - 這是否是正確的路徑,如果是這樣的話?在WinForms自定義控件中,新的屬性在設計時如何更改另一個屬性?
我意識到NumericUpDown提供數字顯示,但它不適合項目要求。
我正在寫一個基於TextBox的新自定義控件,以便使用標準符號顯示數字值,例如, 12.34e5。我添加了一個新的十進制類型的Value屬性,並將其設置爲顯示在Visual Studio的屬性窗口中。當用戶在設計時更新Value屬性時,如何讓Text屬性同時更新?我看過有關DesignMode屬性的帖子 - 這是否是正確的路徑,如果是這樣的話?在WinForms自定義控件中,新的屬性在設計時如何更改另一個屬性?
我意識到NumericUpDown提供數字顯示,但它不適合項目要求。
您需要設置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();
}
}
完美!謝謝! – BWHazel
您是否嘗試過在'Value'屬性的setter中設置'Text'屬性? –