Какая разница между
e.Handled = true
и
e.SuppressKeyPress = true
Я читал, что SuppressKeyPress вызывает e.Handled, но еще это делает?
Согласно этому блогу: Новые API клавиатуры: KeyEventArgs.SuppressKeyPress :
Проблема в том, что «Обработано» не заботится об ожидающих WM_CHAR сообщений, уже созданных в очереди сообщений, поэтому установка Handled = true не предотвращает возникновение KeyPress. Чтобы не сломать никого, кто в данный момент получил e.Handled = true, нам нужно было добавитьновое свойство под названием SuppressKeyChar.Если бы мы пошли другим путем, если «обработка» нажатия клавиш внезапно начала работать, мы могли бы сломать людей, у которых случайно было установлено значение true.
Проблема в том, что «Обработано» не заботится об ожидающих WM_CHAR сообщений, уже созданных в очереди сообщений, поэтому установка Handled = true не предотвращает возникновение KeyPress.
Чтобы не сломать никого, кто в данный момент получил e.Handled = true, нам нужно было добавитьновое свойство под названием SuppressKeyChar.Если бы мы пошли другим путем, если «обработка» нажатия клавиш внезапно начала работать, мы могли бы сломать людей, у которых случайно было установлено значение true.
Это просто предотвращает ввод данных пользователем для всех ожидающих нажатий кнопок.то есть в TextBox не только событие Handled установлено в true, пользовательский ввод подавляется и не отражается в текстовом поле, если вы печатаете очень быстро и нажимаете много кнопок одновременно.