control/OnlyNumberTextBox.vb

(开头部分) 3KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

Public Class OnlyNumberTextBox
    Inherits TextBox

    Private m_Precision As Integer '输入精度

    Public Sub New()
        MyBase.New()

        '右侧对齐
        Me.TextAlign = HorizontalAlignment.Right

        '关闭输入法
        Me.ImeMode = ImeMode.Close '不关闭还能输入中文

        'm_Precision = 2
    End Sub

    <System.ComponentModel.Browsable(True), System.ComponentModel.Description("设置允许的小数位"), System.ComponentModel.DefaultValue(2)>
    Public Property Precision As Integer
        Get
            Return m_Precision
        End Get
        Set(value As Integer)
            m_Precision = value
        End Set
    End Property

    Protected Overrides Sub OnGotFocus(e As EventArgs)
        MyBase.OnGotFocus(e)

        '关闭中文输入法
        Me.ImeMode = ImeMode.Close
    End Sub

    Protected Overrides Sub OnKeyPress(e As KeyPressEventArgs)
        MyBase.OnKeyPress(e)

        '如果是空格
        If e.KeyChar = " " Then
            e.Handled = True
            Return
        End If

        '如果是特殊键,不处理
        If Asc(e.KeyChar) <= 32 Or Asc(e.KeyChar) > 126 Then
            Return
        End If


        '如果非数字键,放弃输入
        If (Not Char.IsDigit(e.KeyChar)) And (e.KeyChar <> "-") And (e.KeyChar <> ".") Then
            e.Handled = True
            Return
        End If

        '如果是小数点
        '判断当前是否已经有了小数点
        If e.KeyChar = "." AndAlso Me.Text.IndexOf(".") <> -1 Then
            e.Handled = True
            Return
后面还有 52 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。