B. Clay Shannon B. Clay Shannon - 1 year ago 92
C# Question

How can I determine if the Backspace has been pressed in the KeyPress event?



...indicates that I should have access to e.KeyCode in the KeyPress event, but I don't seem to. I'm trying to allow only 1,2,3, and backspace:

private void textBoxQH1_KeyPress(object sender, KeyPressEventArgs e) {
if ((e.KeyChar != '1') &&
(e.KeyChar != '2') &&
(e.KeyChar != '3') &&
(e.KeyChar != (Keys.Back))) {
e.Handled = true;

...but "e." does not show a "KeyCode" value like the example shows, and trying KeyChar with Keys.Back scolds me with, "Operator '!=' cannot be applied to operands of type 'char' and 'System.Windows.Forms.Keys'"

So how can I accomplish this?

Answer Source

try comparing e.KeyChar != (char)Keys.Back, you should cast it to char since Keys is an enumeration

see this: KeyPressEventArgs.KeyChar

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download