我制作了一个包含 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