KeyEventArgs.Handled与KeyEventArgs.SupressKeyPress

使用之间有什么区别

e.Handled = true 

 e.SuppressKeyPress = true 

我已经读过SuppressKeyPress调用e.Handled但是它会这样做吗?

根据这篇博客: 新的键盘API:KeyEventArgs.SuppressKeyPress :

问题是“Handled”不会处理已在消息队列中构建的待处理WM_CHAR消息 – 因此设置Handled = true并不会阻止发生KeyPress。

为了不破坏当前已经获得e.Handled = true的任何人,我们需要添加一个名为SuppressKeyChar的新属性。 如果我们走另一条路,如果“处理”一个keydown突然开始真正起作用,我们可能会打破那些意外将这个设置为真的人。

它只是阻止用户输入所有挂起的按钮命中。 即,在TextBox中,不仅事件Handled设置为true,用户输入也会被抑制并且不会反映在文本框中,以防您输入速度非常快并且一次点击多个按钮。