2

我制作了一个包含 3 个文本框和一个名为“计算”的按钮的 vb.net 表单。我要做的就是在文本框中输入一些值,然后单击计算数字的按钮。我已经完成了计算编码部分。

现在我只想在文本框中输入数字,如果我输入字母或符号,当我单击确定按钮时,我需要使用确定按钮获得严重错误消息。

我怎样才能做到这一点?

4

3 回答 3

2

如果您希望在用户在 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

它允许在文本框中进行数字、小数和导航(删除、退格、左和右)。

于 2013-01-03T14:12:45.143 回答
1

您可以使用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

MessageBox.Show方法

于 2013-01-03T13:51:57.847 回答
0

您没有指定您是为 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
于 2013-01-03T14:02:17.980 回答