Если причина, по которой вы хотите использовать KeyDown вместо KeyPress, заключается в том, чтобы захватить дополнительную информацию, которая предоставляется событию KeyDown, не могли бы вы, возможно, захватить эту дополнительную информацию в событии KeyDown, а затем использовать ее при получении KeyPress?Скорее, хоккейный подход, но я не уверен ни в каком другом подходе, который действительно будет работать в раскладке клавиатуры, которая имеет «мертвые клавиши» (то есть последовательности из двух клавиш, которые производят один символ).Я не знаю, почему Microsoft не перенесла дополнительную информацию в событие KeyPress (или во многие другие события), поскольку попытка сопоставления причинно-следственных связей не идеальна, но я недействительно не знаю лучшей альтернативы.