你如何减慢循环计数迭代的速度?

时间:2016-09-29 15:44:04

标签: winforms powershell animation

我正在开发PowerShell GUI,我正在制作一些控件项目动画。我可以按照我想要的方式工作,但我希望它能减速并且更加谨慎。

据我所知,在许多语言中,它与时钟速度有关,并且不会发生变化。大多数在线资源都与加速脚本或程序有关。

举一个我正在谈论的例子:

$button.Add_MouseEnter({
    0..30 | %{
        $button.Location = "$_,100"
        }
    })
$button.Add_MouseLeave({
    30..0 | %{
        $button.Location = "$_,100"
        }
    })

当鼠标悬停在按钮上时,此按钮将向右移动30个单位,当鼠标离开按钮时,它将向左移动30个单位到原始位置。

对我来说,问题是迭代31个数字(0..30)非常快,并且它会在动画中捕捉。我想让特定的事件动作执行得更慢,但问题是,如果我要扩展迭代,它会将按钮进一步推出,这不是我需要的。

我昨晚躺在床上,我意识到这可能有效,但我想知道在PowerShell中是否还有其他方法可以实现这一点。

0..5000 | %{
    if($_.ToString().EndsWith(00)) {
        $increment++
        $button.Location = "$increment,100"
        }
    }

我尝试将其集成到脚本中,但它大大降低了性能(而不是使用5000,我使用了50000),因此,我全神贯注地寻求建议。

谢谢!

0 个答案:

没有答案