数字编辑控件






2.54/5 (7投票s)
2005年6月2日
2分钟阅读

36908

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)添加此控件的引用即可。