چه نکات جالبی من در مورد KeyPress تحقیق کردم و به این نکته رسیدم ( منبع هم MSDN هست ) :
The KeyPress event is not raised by noncharacter keys; however, the noncharacter keys do raise the KeyDown and KeyUp events.
یعنی تناقض نیست،ماها پیگیر نبودیم که خیلی کامل داکیومنت رویدادها رو مطالعه کنیم.
اینم هم یه نکته در مورد PreviewKeyDown که برای من جالب بود،اصن نمیدونستم همچین Eventایی وجود داره
Some key presses, such as the TAB, RETURN, ESC, and arrow keys, are typically ignored by some controls because they are not considered input key presses. For example, by default, a Button control ignores the arrow keys. Pressing the arrow keys typically causes the focus to move to the previous or next control. The arrow keys are considered navigation keys and pressing these keys typically do not raise the KeyDown event for a Button. However, pressing the arrow keys for a Button does raise the PreviewKeyDown event.
فکرکنم خیلی از تناقض ها حل شد