Reputation: 350
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
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