我制作了一个包含 3 个文本框和一个名为“计算”的按钮的 vb.net 表单。我要做的就是在文本框中输入一些值,然后单击计算数字的按钮。我已经完成了计算编码部分。
现在我只想在文本框中输入数字,如果我输入字母或符号,当我单击确定按钮时,我需要使用确定按钮获得严重错误消息。
我怎样才能做到这一点?
我制作了一个包含 3 个文本框和一个名为“计算”的按钮的 vb.net 表单。我要做的就是在文本框中输入一些值,然后单击计算数字的按钮。我已经完成了计算编码部分。
现在我只想在文本框中输入数字,如果我输入字母或符号,当我单击确定按钮时,我需要使用确定按钮获得严重错误消息。
我怎样才能做到这一点?
如果您希望在用户在 WinForm 应用程序中输入他们的值时能够处理这个问题,那么这非常有效:
Private Sub TextBox_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Textbox.KeyDown
Select Case e.KeyCode
Case Keys.D0 To Keys.D9, Keys.NumPad0 To Keys.NumPad9, _
Keys.OemPeriod, Keys.Decimal, Keys.Back, Keys.Delete, _
Keys.Left, Keys.Right
If e.Shift = True Then
e.SuppressKeyPress = True
Exit Sub
End If
e.SuppressKeyPress = False
Case Else
e.SuppressKeyPress = True
End Select
End Sub
它允许在文本框中进行数字、小数和导航(删除、退格、左和右)。
您可以使用Int32.TryParse(或Double.TryParse) 检查输入的数字是否为整数(或双精度数,带小数位)。
Dim num As Int32
If Not Int32.TryParse(textBox1.Text, num) Then
MessageBox.Show("Please enter only integers!", "Critical Warning",
MessageBoxButtons.OK, MessageBoxIcon.Warning)
End If
您没有指定您是为 Asp 编码还是为 WinForms WinForms 编码:
Private Sub TextBoxes_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox1.TextChanged,TextBox2.TextChanged,TextBox3.TextChanged
'Assuming TextBox1,TextBox2,TextBox3 are your textboxes
Dim txt as new textbox
txt=DirectCast(sender,TextBox)
If IsNumeric(txt.text)=False Then
'Here put your code: what you would to do if user insert a not numeric value
'For example, messagobox, ErrorProvider, or clear the textBox etc
End if
End Sub