Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

KeyEventArgs.Handled vs KeyEventArgs.SupressKeyPress

What's the difference between using

e.Handled = true

and

e.SuppressKeyPress = true

I've read that SuppressKeyPress calls e.Handled but else does it do?

like image 832
GrandMasterFlush Avatar asked Sep 26 '11 15:09

GrandMasterFlush


1 Answers

According to this blog: New keyboard APIs: KeyEventArgs.SuppressKeyPress:

The problem is that "Handled" doesn't take care of pending WM_CHAR messages already built up in the message queue - so setting Handled = true does not prevent a KeyPress from occurring.

In order not to break anyone who has currently got e.Handled = true, we needed to add a new property called SuppressKeyChar. If we went the other way, if "handling" a keydown suddenly started to actually work, we might break folks who accidentally had this set to true.

like image 136
LarsTech Avatar answered Sep 18 '22 21:09

LarsTech