C#:同时执行多个计时器

C#:同时执行多个计时器,c#,C#,我有三个标签控件,在For循环的帮助下,我编写了一个方法,可以将控件从窗体的顶部移动到底部。我有三个定时器,每个定时器反复移动一个控件,但问题是它们一个接一个地执行 我希望时间同时执行,即所有三个标签同时从表单顶部向右移动 注意:每次调用计时器后,我都会在窗体顶部设置一个随机对象,随机重置位置。然后不要使用三个计时器。只需使用一个计时器,并将代码放入它的勾号事件中即可 根据您的代码,您可以执行以下操作,在方法之外定义Random变量,只需使用timer1\u Tick事件,就可以删除其他计时器:

我有三个标签控件,在For循环的帮助下,我编写了一个方法,可以将控件从窗体的顶部移动到底部。我有三个定时器,每个定时器反复移动一个控件,但问题是它们一个接一个地执行

我希望时间同时执行,即所有三个标签同时从表单顶部向右移动


注意:每次调用计时器后,我都会在窗体顶部设置一个随机对象,随机重置位置。

然后不要使用三个计时器。只需使用一个计时器,并将代码放入它的勾号事件中即可

根据您的代码,您可以执行以下操作,在方法之外定义
Random
变量,只需使用
timer1\u Tick
事件,就可以删除其他计时器:

Random random = new Random(); 
private void timer1_Tick(object sender, EventArgs e)
{
        int X = random.Next(0, 1230); 
        int y = X; 
        label2.Location = new Point(X, 5);
        label3.Location = new Point(X, 5);
        for (int i = 5; i <= 470; i++)
        {
            label2.Location = new Point(y, i);
            label3.Location = new Point(y, i);
            Thread.Sleep(1);
        }
}
Random Random=new Random();
私有无效计时器1_刻度(对象发送方,事件参数e)
{
intx=random.Next(01230);
int y=X;
标签2.位置=新点(X,5);
标签3.位置=新点(X,5);

对于(int i=5;i使用一个计时器,如果你想让勾号执行各种回调。这样你就可以在运行时定义勾号中应该包含的内容。

你使用的是什么类型的计时器?有几种,具有不同的语义。这是一个标签的代码。当我按表单中的按钮时,标签开始连续移动。H如何同时启动它们?如果不使用计时器,还有什么?线程等?私有void Form1_KeyPress(对象发送器,KeyPressEventArgs e){label1.Text=“Key Pressed:+e.KeyChar;//animate(发送器,e);timer1.start();timer2.start();}私有void timer1_Tick(对象发送方,事件参数e){Random Random=new Random();int X=Random.Next(01230);int y=X;label2.Location=new Point(X,5);for(int i=5;i私有void timer2_Tick(对象发送方,事件参数e){Random Random=new Random();int X=Random.Next(01230);int y=X;label3.Location=new Point(X,5);用于(int i=5;i好的,谢谢,我如何用关键点事件截获此事件,例如,如果在动画期间,我按下任何键,它将停止动画或执行某些操作?好的,谢谢,我如何用关键点事件截获此事件,例如,如果在动画期间,我按下任何键,它将停止动画或执行某些操作?