【发布时间】:2009-12-11 22:00:15
【问题描述】:
对于我的 WPF 应用程序,我开发了一个虚拟键盘。它在我的开发机器上运行良好。但是,在较慢的机器上,按钮单击响应很慢。单击按钮后,在显示与按钮按下状态和按钮事件更新之前存在延迟。我能做些什么来消除这种延迟?问题是 WPF 显示问题吗?
认为是事件处理程序很慢,我尝试了几种方法来发送键盘按键事件。无论我尝试了什么,交互仍然很慢。目前我正在使用:
SendInput(uint nInputs, ref INPUT pInputs, int cbSize);
从 user32.dll 导入。我的事件处理程序被简化到只为上面的函数创建参数和调用的地步。
我也尝试过使用以下方法,但没有更好的性能:
System.Windows.Input.Keyboard.FocusedElement.RaiseEvent(...)
我怎样才能摆脱延迟?
【问题讨论】:
-
您的代码在事件处理程序中做了什么?你能在没有处理程序连接到点击事件的情况下重现问题吗?
标签: c# wpf event-handling button virtual-keyboard