【问题标题】:Visual Basic .net custom Numeric TextBox set default value to TextAlign propertyVisual Basic .net 自定义数字文本框将默认值设置为 TextAlign 属性
【发布时间】:2012-07-27 05:20:45
【问题描述】:

我正在编写一个数字文本框用户控件来过滤非数字数字。我想将 TextAlign 属性的默认值设置为 Right 当我将它放到表单时,但我无法做到。我浏览了网页,我得到的只是某种形式的覆盖属性 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

【问题讨论】:

    标签: vb.net


    【解决方案1】:

    来自the documentation(在一个大黄色框中):

    一个 DefaultValueAttribute 不会导致一个成员被自动 用属性的值初始化。您必须设置初始值 在你的代码中。

    因此,您必须在继承类的构造函数中设置默认值。此外,您必须在属性中使用 Overrides 而不是 Overloads。

    Stackoverflow 上有很多相关问题:

    【讨论】:

    • 好的,添加构造函数就可以了。 Overloads 是对的,如果我将属性声明为 Overrides,则会引发错误,因为 TextBox 不是 Overridable。非常感谢。
    • 如果这回答了您的问题,请您考虑接受该答案。阅读更多关于它的信息here
    猜你喜欢
    • 2010-10-28
    • 1970-01-01
    • 1970-01-01
    • 2021-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多