2012-07-27 47 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