well i think to achieve your desired objective you might have to use all three key related events i.e. KeyUp, KeyDown and KeyPress. now, declare a global boolean variable lets say:
Private isAltKeyDown As Boolean
now, when any key is pressed down, KeyDown event will be fired. to detect if an Alt key is down pressed, place similar code in KeyDown event handler:
If e.KeyCode = Keys.Alt Then
isAltKeyDown = True
End If
while Alt key is pressed down if user presses any button, two events will be fired; KeyUp and KeyPress. In KeyPress you can detect the key pressed and perform the function accordingly by placing similar code in KeyPress event:
If isAltKeyDown Then
Select Case e.KeyChar
Case 'a':
....
End Select
End If
Now, if Alt or any key is released after pressing down then of course KeyUp event is fired so in KeyUp event place this single line of code:
If e.KeyCode = Key.Alt Then
isAltKeyDown = False
End If
well fellow i hope you will get some logic to work on this. i am not sure about the code because i am out of programming these days
anyway, the basic need was to give you an idea.