C# 如何检测是否按下向下箭头键一段时间?
我有一个问题,我不知道如何解决。。。 我有一个列表框,其中可能有很多项 当用户选择一个项目时,我进行异步调用,获取一些数据并填充屏幕。 用户可以按向下箭头键或向上箭头键在项目之间导航,问题是当用户按住向下箭头键时,选择快速更改,我的应用程序遇到问题…是否有一种干净的方法来检测用户按住向下键一段时间,暂停更新视图,只有在他发布后才更新C# 如何检测是否按下向下箭头键一段时间?,c#,wpf,C#,Wpf,我有一个问题,我不知道如何解决。。。 我有一个列表框,其中可能有很多项 当用户选择一个项目时,我进行异步调用,获取一些数据并填充屏幕。 用户可以按向下箭头键或向上箭头键在项目之间导航,问题是当用户按住向下箭头键时,选择快速更改,我的应用程序遇到问题…是否有一种干净的方法来检测用户按住向下键一段时间,暂停更新视图,只有在他发布后才更新 很抱歉,如果我没有解释清楚,如果控件是可聚焦的,您可以覆盖 所以在本例中,这意味着本质上创建listbox的子类,然后重写OnKeyDown函数。你可以这样理解,但
很抱歉,如果我没有解释清楚,如果控件是可聚焦的,您可以覆盖 所以在本例中,这意味着本质上创建listbox的子类,然后重写OnKeyDown函数。你可以这样理解,但这会让事情变得更加混乱 或者,您可以使用查询键状态
不过,我觉得你应该预先加载数据。列表框使用一个足够智能的列表框,不会显示不需要的信息。是否尝试异步
通过这种方式,用户可以对所选内容执行任何操作,您仍然只能在用户实际选择了某个内容后进行更新。调整时间以确保用户界面仍然整洁:)我已经编辑了你的标题。请看“,”其中的共识是“不,他们不应该”。你的问题不是按键。您的问题是如何处理所选项目中的更改。发布一些代码来说明这一点。按住键盘按钮和多次按下按钮的唯一区别是停止信号。这意味着每次检查键盘缓冲区时,缓冲区中都会有相同的键,这意味着如果用户快速按下按钮,代码的行为应该完全相同。