![]() |
1
8
所发生的是你正在减少
但是,如果要执行任何数量的Windows窗体工作,则需要了解线程以及线程对UI的影响。如果您不了解无用的异常和行为不当的UI组件的故事,您很快就会发现自己回到这里。乔恩·斯基特有一个优秀的 threading series . 我强烈推荐。它有一个专门介绍计时器的部分,这样可以给您一些额外的见解。 |
![]() |
2
8
你 不要 如果使用winforms的计时器,则需要线程。 将计时器控件放到页面上,将其命名为“Timer”,然后粘贴以下代码:
我想如果你来自一个网络背景,事件驱动的编程可能是你需要开始阅读的东西,如果你想了解桌面上的东西是如何编程的。 |
![]() |
3
3
除了取消循环(根据Jasonh的回答),如果应用程序有点忙,您的方法可能会变得有点不准确。虽然您以毫秒为单位指定时间间隔,但Winforms计时器的分辨率为18毫秒,优先级非常低,但是消息循环仅在发现没有其他功能时检查计时器。 所以,保留starttime(datetime)值,并使用它计算每个计时器事件中的剩余时间。你只要打61勾就够了。 |
![]() |
4
2
您不希望在事件处理程序中执行任何循环。这个处理程序在每一个计时器的“tick”中调用一次,正如您所配置的那样,每1000毫秒调用一次。所以你想减少你的
|
![]() |
AryA Derakhshan · 在指定的时间重复循环 3 年前 |
|
user8105388 · If语句不与计时器一起工作 7 年前 |
![]() |
Don · 无限循环崩溃,但不在更新函数中 7 年前 |
![]() |
user9769106 · 绘制形状C的路径# 7 年前 |
![]() |
SPlatten · MSVC 2008更好的时机? 7 年前 |