在C#中开始我的第一个严肃的GUI应用程序。智能表格更新思路
我有一个类正在处理和做很多事情,我可以从我的GUI控制器类中插入方法,并在适当时获取事件。
我有几个listboxes和其他控件我想要更新,只要这些信息更新。不过,我想稍微调整一下。
对于我的GUI窗体上的控件,如果我让它更新(每次委托触发),我应该将计时器更新为每秒一次。而其他人只要让他们更新控制数据流的类。
这是专业人士会做的吗?我讨厌使用计时器,如果我可以避免的话,但我恐怕会根据具体情况疯狂地更新表格。
在C#中开始我的第一个严肃的GUI应用程序。智能表格更新思路
我有一个类正在处理和做很多事情,我可以从我的GUI控制器类中插入方法,并在适当时获取事件。
我有几个listboxes和其他控件我想要更新,只要这些信息更新。不过,我想稍微调整一下。
对于我的GUI窗体上的控件,如果我让它更新(每次委托触发),我应该将计时器更新为每秒一次。而其他人只要让他们更新控制数据流的类。
这是专业人士会做的吗?我讨厌使用计时器,如果我可以避免的话,但我恐怕会根据具体情况疯狂地更新表格。
我没有看到使用计时器的任何错误。这就是节流,基本上 - 不允许每秒钟超过x事件。重要的是要让你的计时器检查以确保在盲目更新用户界面之前已经改变了一些东西 - 你不希望它每隔半秒无缘无故地进行屏幕更新。
所以 - 像通常那样勾住事件,但不是立即更新,而是设置一个标志。定时器可以在更新UI之前检查标志。或者,如果您是优化的坚持者,请让事件启动计时器,并让计时器在更新后立即停止;这样,除非最近发生过事件,否则您的计时器根本不运行。
对于这是“专业人士”会做什么的问题,我无法给出明确的答案,因为这个领域的专业人员似乎在做许多事情上有着截然不同的方式。