C#延迟代码&可能取消执行,DataGridView滚动

时间:2016-01-04 20:58:41

标签: c# winforms datagridview delay selectionchanged

这是我的第一个问题,所以如果我犯了任何错误,请指导我。

我是C#编程的新手并且是自学。我已经能够找到许多类似于我的问题的信息(延迟代码),但我无法找到/解决我的具体问题的解决方案。我试过搜索,但也许是错误的关键词......此外,尽管重新阅读和搜索,有时候答案太难以让我辨别;也许我已经阅读了我的解决方案,但没有意识到。

以下是我的设置和后续问题:

我有一个DataGridView,它显示来自SQL Server数据库的数据,这些数据将通过互联网访问(我目前正在开发/测试局域网)。当用户在DGV中选择一个新行时,表单的其余部分将填充基于该记录的信息,并且此过程发生得足够快。

但是,如果用户滚动列表(使用箭头键),则数据会在滚动时反复刷新,从而减慢应用程序的速度。另外,我似乎没有必要为每一行查询服务器(会有很多用户,但还有数千用户)。

我认为我的解决方案是延迟执行填充表单其余部分的代码,直到用户登陆他们想要的行。所以,等到他们选择了相同的行,比如1秒。

到目前为止我找到的答案似乎都有效地设置了一个代码“定时炸弹”,它将在指定的延迟后始终执行。我需要延迟我的代码,但只有当用户仍然在启动延迟时仍然在同一行时才执行它。

有人能指出我正确的方向吗?或者我是以错误的方式接近这个?如果你愿意的话,请尝试用一个答案来说明初学者可以理解它或使用可以查找的关键词。

我确信我不是第一个遇到这个问题的人 - 当然,有一种最佳实践方法可以使用DGV并将其用于此目的吗?但是,搜索SO以查找“c ​​#datagridview滚动延迟代码”或“c #datagridview selectionchanged delay”不会返回任何结果,其他搜索已被证明无效。

我需要或要求的详细信息:

  • 这是一个C#Windows窗体应用程序。
  • 我正在使用Visual Studio 2012。
  • 更新表单的代码在DGV的SelectionChanged事件中 代码块。

0 个答案:

没有答案