Tornado726
Tornado726

Reputation: 350

Getting "system.windows.forms.keypresseventargs' does not contain a definition for 'keycode'"

I trying to get a key to press a button in my app, but I see the following error when I try to compile: "System.Windows.Forms.KeyPressEventArgs' does not contain a definition for 'KeyCode'" What I want to do is: when a user presses the '1' key on the 10 key, I want it to press the '1' button in my app. The code I'm using is attached below: NOTE: I'm using VS 2010. The using directives are here:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

And the code:

private void frmMain_KeyPress(object sender, KeyPressEventArgs e)
    {
        switch  (e.KeyCode)
        {
            case Keys.NumPad0:
                e.Handled = true;
                btnZero.PerformClick();
                break;
            case Keys.NumPad1:
                e.Handled = true;
                btnOne.PerformClick();
                break;
            case Keys.NumPad2:
                e.Handled = true;
                btnTwo.PerformClick();
                break;
            case Keys.NumPad3:
                e.Handled = true;
                btnThree.PerformClick();
                break;
            case Keys.NumPad4:
                e.Handled = true;
                btnFour.PerformClick();
                break;
            case Keys.NumPad5:
                e.Handled = true;
                btnFive.PerformClick();
                break;
            case Keys.NumPad6:
                e.Handled = true;
                btnSix.PerformClick();
                break;
            case Keys.NumPad7:
                e.Handled = true;
                btnSeven.PerformClick();
                break;
            case Keys.NumPad8:
                e.Handled = true;
                btnEight.PerformClick();
                break;
            case Keys.NumPad9:
                e.Handled = true;
                btnNine.PerformClick();
                break;
            case Keys.Add:
                e.Handled = true;
                btnPlus.PerformClick();
                break;
            case Keys.Subtract:
                e.Handled = true;
                btnMinus.PerformClick();
                break;
            case Keys.Divide:
                e.Handled = true;
                btnDivide.PerformClick();
                break;
            case Keys.Decimal:
                e.Handled = true;
                btnDecimal.PerformClick();
                break;
            case Keys.Enter:
                e.Handled = true;
                btnEquals.PerformClick();
                break;
        }
    }

Upvotes: 0

Views: 2816

Answers (1)

Tornado726
Tornado726

Reputation: 350

I found that if I switch from using the

frmMain_KeyPress(object sender, KeyPressEventArgs e)

to

frmMain_KeyDown(object sender, KeyEventArgs e) 

I could get this to work.

Upvotes: 1

Related Questions