|
1
3
对不起,但是在这里使用DoEvents是完全不可能的。当用户在动画运行时关闭窗体时,不会发生什么好事。它将使程序崩溃,并出现一个ObjectDisposed异常。使doEvents安全需要将窗体的enabled属性设置为false,这样用户就不会意外地导致类似这样的事故。控件无法合理设置 窗体的 启用属性为false,特别是对于动画。 解决方法非常简单,只需使用间隔为15毫秒的计时器。足够快使动画看起来平滑。您将在我的答案中找到这样做的示例代码 this thread . |
|
|
2
2
也许您只是缺少了对(或导入)的引用
(你似乎已经知道使用
|
|
3
2
是的,你应该可以打电话
从代码库中。你似乎明白“做事情”是个坏主意,所以我不知道你为什么这么称呼它。我猜你已经把这个放在了一个覆盖中,比如onVisibleChanged或者onPaint——如果是这样的话,你很可能不会得到你想要的结果,因为在这些操作中控制刷新将被暂停。
您可能想要做的是创建一个单勾选计时器,并在勾选时增加控件的高度-然后在达到最终权重时禁用计时器,或者如果没有,则计划另一个勾选。或者,创建一个计时器,并将上面的循环放到每个标记上。确保你知道
|
|
4
1
无法复制。 刚刚测试了一个简单的设置,用户控件在一个程序集中。 当UC在一个循环中调用doEvents()时,主窗体上的计时器会一直在计时。 所以:再看看你的问题,它不是你想的那样。 |
|
|
5
0
在原始for循环中,放置
|
|
|
6
-1
这就是我所发现的:计时器,即使是在很快的时间间隔内,也很慢。我不知道为什么,但动画中的定时器非常紧张。简化代码:
如果没有计时器,我使用一个循环:
它现在可以工作了,但问题是动画速度太快取决于执行循环的机器。因为这个原因,我想用一个计时器,但正如我说的,它太慢了。 有什么暗示吗? |
|
|
mikko · SwiftUI如何在不同堆栈中实现同一视图的平滑动画 1 年前 |
|
|
user54097 · 滚动菜单项上的导航栏动画文本徽标 1 年前 |
|
|
LetsBeHappy · 高CPU的圆形渐变动画 2 年前 |
|
|
Toniq · css从上到中心设置动画 2 年前 |
|
|
Duck · 如何设置菜单从圆形到椭圆形的动画? 2 年前 |
|
MR Lappy · 提要动画最后出现空白 2 年前 |