0

我试图阻止我的文本框,以便它们只能接受数字。我在网上找了这个代码

Private Sub TextBox1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) HandlesTextBox1.TextChanged
  If Not Char.IsNumber(e.KeyChar) And Not Char.IsControl(e.KeyChar) Then
    e.Handled = True
  End If
End Sub  

问题是显示了一条错误消息:

e.keychar 不是 system.eventargs 的成员

我已经导入了Imports System.EventArgs. 知道如何解决这个问题吗?

4

3 回答 3

6

我相信问题在于您正在处理的事件。应该不是TextChangede.KeyChar通常在EventArgsforKeyPress处理程序中。尝试使用类似TextBox1_KeyPress.

于 2013-02-25T22:14:11.763 回答
1

这应该有效:

Public Class Form1
    Private Sub TextBox1_KeyDown(sender As Object, e As KeyEventArgs)
        If e.KeyValue < 48 OrElse e.KeyValue > 57 Then _
            e.SuppressKeyPress = True
    End Sub
End Class
于 2013-02-25T22:26:36.750 回答
0

它需要 (sender As Object, e As KeyPressEventArgs ) e.KeyChar 是其中的成员

于 2018-04-13T22:37:39.717 回答