e.keychar和e.handled不是KeyPress的system.eventargs成员?

时间:2014-03-25 20:06:04

标签: vb.net

我正在从我的教科书(不是家庭作业)做作业,它告诉我将此代码插入只允许字母和backspace key进入文本框。我想这本教科书没有错,但我收到了错误

"'KeyChar' is not a member of 'System.EventArgs'"

以及

"'Handled' is not a member of 'System.EventArgs'"

下面是代码:

Private Sub txtLetter_KeyPress(sender As Object, e As EventArgs) Handles txtLetter.TextChanged
    'Allows only letters and the backspace key

    If e.KeyChar Like "[!A-Za-z]" AndAlso
        e.KeyChar <> ControlChars.Back Then
        e.Handled = True

    End If
End Sub

2 个答案:

答案 0 :(得分:0)

您的方法的名称表示您正在处理KeyPress事件,但Handles子句实际上指定它正在处理TextChanged事件。按照建议更改e参数的类型,并将正在处理的事件更改为KeyPress。根据建议,将来使用IDE创建事件处理程序,或者至少读取从其他地方复制的代码,以确保它有意义。

答案 1 :(得分:0)

如果出现这种情况,我找到了解决方案 - 添加:&#34; System.Windows.Forms.KeyPress&#34;摆脱摆动。这应该可以解决问题。如果没有,请重新检查代码,了解您的错误仍然存​​在的原因。