KeyEventArgs.Handled与KeyEventArgs.SuppressKeyPress的区别

11
Sorry, 我只能使用英语回答问题。
e.Handled = true
并且
e.SuppressKeyPress = true

我读过SuppressKeyPress调用e.Handled,但除此之外它还有什么作用吗?

2个回答

15
根据此博客:新的键盘API:KeyEventArgs.SuppressKeyPress
问题在于“Handled”不能处理消息队列中已经积累的未决WM_CHAR消息 - 因此,设置Handled = true并不能防止发生KeyPress事件。
为了不破坏当前已将e.Handled = true的任何人,我们需要添加一个名为SuppressKeyChar的新属性。 如果我们采用另一种方式,即突然“处理”按下键开始实际运行,我们可能会破坏意外将其设置为true的人们。

2

它简单地防止所有待处理的按钮点击的用户输入。例如,在TextBox中,不仅Handled事件被设置为true,而且用户输入也被抑制,如果您快速输入并同时按下许多按钮,则不会在文本框上反映出来。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接