我在我的vb.net2008应用程序中使用了inputbox来接受特定产品的数量,我想为这个输入框提供数字验证。字符(a-z)必须无法在此输入框中输入,这与我们在textbox_keypress事件中执行的操作相同。请帮忙
答案 0 :(得分:0)
输入文本时,默认的InputBox不提供此验证功能。您必须自己创建一个窗口(输入框)并添加所需的验证
最好的选择是创建一个新的表单,并对其进行所有验证
您想要的文本框,并将.ShowDialog()
显示为模态,如InputBox
答案 1 :(得分:0)
检查出来......
http://www.functionx.com/vb/functions/inputbox.htm
正是我的想法。它表示输入框没有您可以订阅的过滤事件。所以我的建议是,你有2个选项......要么创建你自己的输入框并订阅文本框按键事件来过滤数据,要么让用户首先在输入框中输入数据并在输入数据后验证数据,如果你坚持使用输入框。这些是您唯一的选择。
答案 2 :(得分:0)
我意识到这已经得到了解答但是在例子中没有给出太多的答案。我最近遇到了类似的问题,试图仅为数字输入验证InputBox。
关于降雨统计收集申请,这就是我提出的。
循环是收集每个月的降雨量。 我首先将用户输入传递给字符串,然后使用IsNumeric验证字符串,然后转换为double并将其分配给数组中的当前索引。
如果输入为数字,则递增循环计数器以继续下个月。
如果不是数字,则显示错误并再次循环以询问同月输入。
Private Sub ...
Dim intMaxIndex As Integer = 11
Dim strMonths() As String = {"January", "February", "March", "April", "May", "June",
"July", "August", "September", "October", "November", "December"}
' declare local array and counter
Dim dblRainfallPerMonth(intMaxIndex) As Double
Dim i As Integer = 0
' loop through the months
Do Until i = intMaxIndex
Dim strRainfall As String = ""
' get user input from InputBox and assign to a string
strRainfall = InputBox("Enter the rainfall for " & strMonths(i))
' check if the user input is a number
If IsNumeric(strRainfall) Then
' validation passed, convert user input and assign to current index in the array
dblRainfallPerMonth(i) = CDbl(strRainfall)
' increment the counter
i += 1
Else
' validation failed, display error and do not increment the counter
MessageBox.Show("Please enter a number")
End If
Loop
End Sub
答案 3 :(得分:-2)
Dim str As String = InputBox(你的消息)
如果 IsNumeric(str) 那么
'numeric = true
其他
'输入错误信息
如果结束