Hi, I need to create a visual basic program that does all the functions of the calculator program in windows. I need to be able to make the program display the keys pressed by the user on the keypad (only the numbers 0 - 9) and it should also still be able to do the functions even though the numbers were inputted through the keypad and not through the buttons on the calculator, so far Ive been able to create all the functions except the square root and negative sign, i can do that on my own but I would really appreciate some help on this, I was researching and saw this function called "Keypress" but I don't know how to use it, I just started learning VB 2 days ago, I'm surprised my teacher gave us such a difficult task in only our second meeting, but oh well what can I do. How do I go about doing this, please tell me what functions I should research on, and can you also please explain those functions so I will have an Idea on how to use them. Here is my code.

Option Explicit
Dim Op1, Op2
Dim DecimalFlag As Integer
Dim NumOps As Integer
Dim LastInput
Dim OpFlag
Private Sub Cancel_Click()
Readout = Format(0, "0.")
Op1 = 0
Op2 = 0
End Sub
Private Sub ClearEntry_Click()
Readout = Format(0, "0.")
DecimalFlag = False
LastInput = "CE"
End Sub
Private Sub Decimal_Click()
If LastInput = "NEG" Then
Readout = Format(0, "-0.")
ElseIf LastInput <> "NUMS" Then
Readout = Format(0, "0.")
End If
DecimalFlag = True
LastInput = "NUMS"
End Sub
DecimalFlag = False
NumOps = 0
LastInput = "NONE"
OpFlag = " "
Readout = Format(0, "0.")
End Sub
Private Sub Number_Click(Index As Integer)
If LastInput <> "NUMS" Then
Readout = Format(0, ".")
DecimalFlag = False
End If
If DecimalFlag Then
Else
Readout = Left(Readout, InStr(Readout, Format(0, ".")) - 1) + Number(Index).Caption + Format(0, ".")
End If
If LastInput = "NEG" Then Readout = "-" & Readout
LastInput = "NUMS"
End Sub
Private Sub Operator_Click(Index As Integer)
If LastInput = "NUMS" Then
NumOps = NumOps + 1
End If
Select Case NumOps
Case 0
If Operator(Index).Caption = "-" And LastInput <> "NEG" Then
LastInput = "NEG"
End If
Case 1
If Operator(Index).Caption = "-" And LastInput <> "NUMS" And OpFlag <> "=" Then
LastInput = "NEG"
End If
Case 2
Select Case OpFlag
Case "+"
Op1 = CDbl(Op1) + CDbl(Op2)
Case "-"
Op1 = CDbl(Op1) - CDbl(Op2)
Case "*"
Op1 = CDbl(Op1) * CDbl(Op2)
Case "/"
Op1 = CDbl(Op1) / CDbl(Op2)
Case "="
Op1 = CDbl(Op2)
Case "%"
Op1 = CDbl(Op1) * CDbl(Op2)
End Select
NumOps = 1
End Select
If LastInput <> "NEG" Then
LastInput = "OPS"
OpFlag = Operator(Index).Caption
End If
End Sub
Private Sub Percent_Click()
LastInput = "Ops"
OpFlag = "%"
NumOps = NumOps + 1
DecimalFlag = True
End Sub

End Sub

Use Form_KeyDown event

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
'make sure KeyPreview is True on Form Properties
On Error Resume Next
Select Case KeyCode
Case vbKey 'Then Find which key you want to use from the list below
'Code to run when key is pressed
End Select
End Sub

List of every key on the keyboard:
vbKeyLButton Left Mouse Button
vbKeyRButton Right Mouse Button
vnKeyCancel Cancel Key
vbKeyMButton Middle Mouse button
vbKeyBack Back Space Key
vbKeyTab Tab Key
vbKeyClear Clear Key
vbKeyReturn Enter Key
vbKeyShift Shift Key
vbKeyControl Ctrl Key
vbKeyPause Pause Key
vbKeyCapital Caps Lock Key
vbKeyEscape Escape Key
vbKeySpace Spacebar Key
vbKeyPageUp Page Up Key
vbKeyPageDown Page Down Key
vbKeyEnd End Key
vbKeyHome Home Key
vbKeyLeft Left Arrow Key
vbKeyUp Up Arrow Key
vbKeyRight Right Arrow Key
vbKeyDown Down Arrow Key
vbKeySelect Select Key
vbKeyPrint Print Screen Key
vbKeyExecute Execute Key
vbKeySnapshot Snapshot Key
vbKeyInsert Insert Key
vbKeyDelete Delete Key
vbKeyHelp Help Key
vbKeyNumlock Delete Key

vbKeyA through vbKeyZ are the key code constants for the alphabet
vbKey0 through vbKey9 are the key code constants for numbers
vbKeyF1 through vbKeyF16 are the key code constants for the function keys
vbKeyNumpad0 through vbKeyNumpad9 are the key code constants for the numeric key pad

Math signs are:
vbKeyMultiply - Multiplication Sign (*)
vbKeySubtract - Minus Sign (-)
vbKeyDecimal - Decimal Point (.)
vbKeyDivide - Division sign (/)
vbKeySeparator - Enter (keypad) sign

Attached is a calculator app I have done quite a while agos. It covers more functions like sqr root etc.

By using the keypress event, look at the attachment to get the ascii character for the key pressed and use that in your code i.e. -

If KeyAscii = 50 Then
If txtNumber.Text = "" Then
txtNumber.Text = "2"
Else
txtNumber.Text = txtNumber.Text & "2"
End If
'Remember to check for txtNumber NOT to be empty

Hope this help solving your problem...

Um... you could try the onkeypress() event handler? Just Google for number codes.

I mean onkeypres()