计时器组件未停止

我正在使用Winforms应用程序,我打算在用户单击它时使标签“滑行”。为此,我创建了一个click事件,该事件启动了一个计时器,该计时器随后将标签逐渐移至窗体上方。然后,我有了一个递增的计数器,当计数器到达某个位置时,计时器应该停止。但是,计时器没有停止。为了测试目的,我故意将计数器限制设置为2,但是标签继续从表格中移开。这是代码:

//example 1
const xd = new Observable(({ next }) => {
  next("3");
});

xd.subscribe(msg => console.log(msg));

//example 2
    const obs$ = new Observable();

    obs$.subscribe(mg => console.log(mg));

//example 3
 private socket: SocketIOClient.Socket;
  constructor(private url: string) {
    this.socket = io(this.url);
  }

  listen() {
    return new Observable(({ next }) => {
      this.socket.on("message",next)
    })
  }
qq290868393 回答:计时器组件未停止

int counter = 0; // here you are setting it 0
newsLabel.Top -= 10;
counter++; // here you are incrementing it by 1
if (counter == 2) // here you are checking for 2,its never going to get there
   drawerTimer.Stop();

您很有可能想要做这样的事情

private int _counter; // instance field,field to remember your count

private void DrawerTimer_Tick(object sender,EventArgs e)
{
    newsLabel.Top -= 10;
    counter++; // increment it every tick
    if (counter == 2)
        drawerTimer.Stop();
}

private void News_Click(object sender,EventArgs e)
{
    _counter = 0; // set to zero when start
    drawerTimer.Start();
}
本文链接:https://www.f2er.com/3088041.html

大家都在问