智能表单更新理念

时间:2010-01-21 02:26:12

标签: c# user-interface forms methodology

在C#中开始我的第一个严肃的GUI应用程序。

我有一个正在处理和执行大量操作的类,我可以将GUI控制器类中的方法插入到适当的事件中并获取事件。

每当更新此信息时,我都会想要更新几个列表框和其他控件。但是,我想稍微扼杀一下。

对于我的GUI表单上的控件,如果我让它(每次代理触发)时会经常更新,我应该放一个可能每秒更新一次的计时器。其他人只需在控制数据流的类中更新它们。

这是专业人士会做的吗?我讨厌使用计时器,如果我可以避免,但我害怕表格更新像疯了,视情况而定。

1 个答案:

答案 0 :(得分:2)

我没有看到使用计时器有什么问题。这就是限制,实质上是 - 每秒不允许超过 x 事件。重要的是让您的计时器检查以确保在盲目更新UI之前发生了某些变化 - 您不希望它无缘无故地每半秒进行一次屏幕更新。

所以 - 像往常一样挂钩事件,但不是立即更新,而是设置一个标志。计时器可以在更新UI之前检查标志。

或者,如果您是优化的坚持者,请让事件启动计时器,让计时器在更新后立即停止;这样,除非最近发生了一次事件,否则你的计时器根本不会运行。

我不能对这个“专业人士”会做什么的问题给出一个明确的答案,因为这个领域的专业人士似乎有很多不同的做法。