如果我正在循环执行一个长时间的操作(比如处理文件)并且我想更新一个进度条,我需要使用 DoEvents,据我所知。

但是在函数的每个循环中调用它只会导致进度条的动画播放速度非常快(或慢,取决于操作)。我知道这是因为 DoEvents 允许进度条“呼吸”,因为缺少更好的词,导致它和表单的其余部分刷新。

我的问题是,你怎么知道调用 DoEvents 是合适的?显然,你不能只是随心所欲地调用它——但你通常会喜欢它——这会导致零星的动画等等。那么是否有一些快速方法可以检查表单/应用程序是否需要调用 DoEvents?

最佳答案

哦,呃 - 我只是打了自己一巴掌。

我应该只使用后台线程来处理,而不要理会 UI 线程。

关于c# - 我什么时候知道调用 DoEvents?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4120174/

10-13 06:48