e.keychar不是system.eventargs的成员 - Visual Basic 2010

时间:2013-02-25 22:08:03

标签: vb.net visual-studio-2010

我正在尝试阻止我的文本框,以便他们只能接受数字。我在互联网上找到了这个代码

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。知道如何解决这个问题吗?

3 个答案:

答案 0 :(得分:5)

我认为问题在于您正在处理的事件。它可能不应该是TextChangede.KeyChar通常位于EventArgs KeyPress处理程序中。尝试使用类似TextBox1_KeyPress的内容。

答案 1 :(得分: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

答案 2 :(得分:0)

它需要(发件人为对象,e为 KeyPressEventArgs )       哪个e.KeyChar是

的成员