我正在使用Winforms应用,当用户单击它时,我想使标签“滑行”。为此,我创建了一个click事件,该事件启动了一个计时器,该计时器随后将标签逐渐移至窗体上方。然后,我有了一个递增的计数器,当计数器到达某个位置时,计时器应该停止。但是,计时器没有停止。为了测试目的,我故意将计数器限制设置为2,但是标签继续从表格中移开。这是代码:
private void DrawerTimer_Tick(object sender, EventArgs e)
{
int counter = 0;
newsLabel.Top -= 10;
counter++;
if (counter == 2)
drawerTimer.Stop();
}
private void News_Click(object sender, EventArgs e)
{
drawerTimer.Start();
}
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();
}