65.9K
CodeProject 正在变化。 阅读更多。
Home

数字编辑控件

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.54/5 (7投票s)

2005年6月2日

2分钟阅读

viewsIcon

36908

downloadIcon

202

这是一个允许用户仅输入数字的控件。它还具有一些特殊功能,例如,如果输入负值,我们可以用不同的颜色显示它。

引言

这是一个允许用户仅输入数字的控件。它还具有一些特殊功能,例如,如果输入负值,我们可以用不同的颜色显示它。我们还可以允许/限制此控件中的零值,并设置最小值和最大值。如果我们在控件内按下“F2”键,它将打开计算器,我们可以利用它进行一些计算。

属性

  • MaximumValue

    使用此属性,我们可以将最大值设置为此控件的输入。

  • MinimumValue

    使用此属性,我们可以将最小值设置为此控件的输入。

  • 负数颜色

    此属性用于更改控件的颜色,如果控件具有负值。

    如果控件中的值为正数,控件将如下所示

    如果控件中的值为负数,控件将如下所示

    我们可以设置任何我们喜欢的颜色。

  • 千位分隔符

    这是一个布尔属性,我们可以设置是否需要千位分隔符。

  • 将控件的值作为数字设置/获取。

  • 允许零

    这是一个布尔属性。使用此属性,我们可以设置控件是否可以具有零值。如果我们将ZeroAllowed属性设置为False,它将不允许用户输入零。并且还会显示警告消息。

    如果将鼠标指针放在感叹号图标上,它将显示警告消息。

下面是此控件的属性页面的屏幕截图。

代码

此控件的主要技术功能如下

Private Overloads Sub NumTxt_TextChanged(ByVal sender _
        As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) _
        Handles NumTxt.KeyPress, MyBase.KeyPress

    Dim isKey As Boolean = e.KeyChar.IsDigit(e.KeyChar)
    Dim isDecimal As Boolean = e.KeyChar.ToString = "."
    Dim isBackSpace As Boolean = Asc(e.KeyChar) = "08"
    Dim isNegative As Boolean = e.KeyChar.ToString = "-"

    If isNegative And Len(NumTxt.Text) > 0 Then
        e.Handled = True
        Exit Sub
    End If

    If InStr(NumTxt.Text, ".") > 0 And isDecimal Then
        e.Handled = True
        Exit Sub
    End If

    If Not isKey And Not isBackSpace And Not isDecimal And Not isNegative Then
        e.Handled = True
    End If
    If NumTxt.Text <> "" Then
        lnOldVal = Val(Replace(NumTxt.Text, ",", ""))
    Else
        lnOldVal = 0
    End If
End Sub

如何在您的项目中使用的控件

只需使用“项目 -> 添加引用”选项(.NET)添加此控件的引用即可。

© . All rights reserved.