0
    Private Sub txtDesc_TextChanged(sender As System.Object, e As System.EventArgs) Handles txtDesc.TextChanged
          Select Case Asc(e.KeyChar)
            Case 8, 32, 65 To 90, 97 To 122
                e.Handled = False
            Case Else
                e.Handled = True
        End Select
    End Sub

**I am encountering these errors:
'Handled' is not a member of 'System.EventArgs'
'KeyChar' is not a member of 'System.EventArgs'

::please help me asap :( i don't know what's wrong with these codes.**

3
Contributors
5
Replies
7
Views
4 Years
Discussion Span
Last Post by tinstaafl
0

Handled and KeyChar are only part of Key events, like KeyPress. You'll have to use one of those events to trap which keys are being pressed. If you have to use the TextChanged event you could read the Text property and isolate the last character

Edited by tinstaafl

0

I get what you mean, it just I don't know how to relate it in my code. The code that I have stated above :'( please help me :(

0

that won't work systemeventargs can't be converted to keyeventargs.
Try this:

         Private Sub txtDesc_TextChanged(sender As System.Object, e As System.EventArgs) Handles txtDesc.TextChanged
            Dim KeyPressed As Char
            KeyPressed = txtDesc.Text.Substring(txtDesc.Text.Length - 1).Single     
            Select Case Asc(KeyPressed)
                Case 8, 32, 65 To 90, 97 To 122
                    txtDesc.txt = txtDesc.Text.Substring(0,txtDesc.Text.Length - 2)
                Case Else
            End Select
         End Sub

This also works:

     Private Sub txtDesc_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtDesc.KeyPress
        Select Case Asc(e.KeyChar)
            Case 8, 32, 65 To 90, 97 To 122
                e.Handled = False
            Case Else
                e.Handled = True
        End Select
    End Sub

Edited by tinstaafl

0

Had a brain wave lol realized there's an even cleaner way:

    Public Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
        e.Handled = Char.IsNumber(e.KeyChar)   
    End Sub

numbers are handled everything else isn't.

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.