计时器间隔未随轨迹栏进度进行调整

EyeSeeSharp

我试图允许用户runClick通过使用跟踪栏来控制计时器的时间间隔trackbartimer

当用户向右滑动时,应该加快计时器的速度,而当用户向左滑动时,计时器应加快的速度;反之亦然。但事实并非如此。

这是我尝试过的:

private void runClick_Tick(object sender, EventArgs e)
    {
      runClick.Interval = trackbartimer.Value;
    }


    private void trackbartimer_Scroll(object sender, EventArgs e)
    {
        trackbartimer.Minimum = 1000;
        trackbartimer.Maximum = 1;
        trackbartimer.TickFrequency = 10;
        trackbartimer.LargeChange = 100;
        trackbartimer.SmallChange = 10;

        runClick.Interval = trackbartimer.Value;

    }

谁能告诉我我要去哪里错了?

普萨·庞杰伦德拉普

问题在于,将拇指移至TrackBar上的“右”会增加该值,因此会增加间隔,反之亦然。将“最大值”设置为1,将“最小值”设置为1000不会反转控件的逻辑。如果通过IDE输入这些值,则会看到它固定了这些值,而不是使用“反向”范围。

另外,计时器的准确性也不高,以至于55毫秒或60毫秒以下的速度会有很大变化,也不会以您指定的间隔精确触发。MSDN

Windows Forms Timer组件是单线程的,并且精度限制为55毫秒。

最简单的方法是在表单上放置一些<< FasterSlower >>标签,但是要使用一些简单的数学方法使其更快地移到右边:

private void trackBar1_ValueChanged(object sender, EventArgs e)
{
    int v = (trackBar1.Maximum - trackBar1.Value) + 100;

    timer1.Interval = v;
}

+100是为了避免疯狂的快速间隔。

我将使用该ValueChanged事件来处理更少的事件,并且不需要在Tick事件中再次(又一次)重置计时器间隔。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

计时器进度栏

来自分类Dev

jQuery进度计时器栏

来自分类Dev

jQuery进度计时器栏

来自分类Dev

带有角度计时器的角度ui-bootstrap进度栏未显示值

来自分类Dev

jQuery进度栏样式倒数计时器

来自分类Dev

C#-使用计时器和轨迹栏逐渐填充矩形以控制速度

来自分类Dev

使用带有进度栏的计时器打开下一个表单

来自分类Dev

计时器未重置

来自分类Dev

引导进度条计时器

来自分类Dev

以新的时间间隔重复计时器

来自分类Dev

计时器不触发间隔

来自分类Dev

如何制作间隔计时器?

来自分类Dev

如何快速更新计时器间隔?

来自分类Dev

如何使此并发字典随计时器到期?

来自分类Dev

搜索栏与计时器同步

来自分类Dev

Android倒数计时器循环进度条与计时器不匹配

来自分类Dev

Java Swing计时器未启动?

来自分类Dev

计时器滴答事件未触发

来自分类Dev

倒数计时器未停止

来自分类Dev

计时器滴答事件未触发

来自分类Dev

QML 计时器未触发

来自分类Dev

空闲计时器未触发操作

来自分类Dev

计时器-如何使用计时器以一定间隔显示文本?

来自分类Dev

具有许多计时器实例的不同计时器间隔

来自分类Dev

Android是否有进度条/计时器?

来自分类Dev

使用Bootstrap的进度条作为倒数计时器

来自分类Dev

圆形进度条(用于倒数计时器)

来自分类Dev

进度条计时器暂停时钟

来自分类Dev

进度计时器Cocos JS v3