2012-07-27 62 views
0

我在推薦一個Numeric TextBox用戶控件來過濾非數字數字。我想將TextAlign屬性的默認值設置爲「正確」時,我將其放到窗體上,但我無法設法執行此操作。我瀏覽網頁,我得到的只是某種形式的重寫屬性TextAlign,但沒有任何效果。任何幫助將不勝感激。謝謝。Visual Basic .net自定義Numeric TextBox將默認值設置爲TextAlign屬性

Public Class NumericTextBox 
    Inherits TextBox 

<DefaultValueAttribute(HorizontalAlignment.Right)> _ 
Public Overloads Property TextAlign() As HorizontalAlignment 
    Get 
     Return MyBase.TextAlign 
    End Get 
    Set(ByVal value As HorizontalAlignment) 
     MyBase.TextAlign = value 
    End Set 
End Property 

回答

0

the documentation(在一個大的黃色方框):

一個DefaultValueAttribute不會造成一名成員與屬性的值自動 初始化。您必須在代碼中設置初始值 。

因此,您必須在繼承類的構造函數中設置默認值。而且,你必須在屬性中使用Overrides而不是Overloads。

有很多相關的問題#2:

+0

好,它的工作原理添加構造函數。重載是正確的,如果我聲明屬性爲Overrides,則會引發錯誤,因爲TextBox不是Overridable。非常感謝。 – DanielB 2012-07-27 05:53:35

+0

如果這回答你的問題,懇請你考慮接受答案。閱讀更多關於它[這裏](http://meta.stackexchange.com/a/5235)。 – 2012-07-27 07:29:38