【发布时间】:2010-11-05 22:13:03
【问题描述】:
有人在代码中处理过这种情况吗?
用户正在输入区域(例如,富文本框)中输入内容。这会导致触发多个 TextChanged 事件。我们只想在用户停止输入时捕获最后更改的事件(即:5 秒内没有更改的事件)。
有没有人有一个干净的 C# sn-p 这样做?
【问题讨论】:
-
我很想知道投反对票的原因。
-
我不明白为什么这被否决了...
-
您如何真正知道他们的用户何时停止输入?如果他们停止后有延迟,他们会再次开始输入以查看应用程序是否冻结(触发更多击键)?
-
如果用户在 2 秒内(或任何预定义的时间间隔)没有输入,则可以认为用户已经停止输入了一段时间。目的是防止事件波通过 UI 传播(当这种处理成本很高时)
-
哦,我完全明白了。只是很难预测用户接下来会做什么。我更喜欢尝试将界面塑造成数据,并提供一个可以减少我的工作(以及他们的困惑)的选择,例如,一个下拉列表而不是一个文本框(这是一个非常简单的例子;你d 可能必须为您的特定情况创建自己的 ui,但它可能比您现在所做的更好)。
标签: c# .net user-interface asynchronous