我正在尝试在进程进行时为标签设置动画。我希望它是这样的(逐帧):
Searching
Searching.
Searching..
Searching...
Searching
等等。我试过这样做:
Timer _animationTimer = new Timer();
private void StartAnimation()
{
myLabel.Text = "Searching";
_animationTimer.Interval = 250;
_animationTimer.Tick += new EventHandler(this.AnimationEvent);
_animationTimer.Start();
}
private void StopAnimation()
{
_animationTimer.Stop();
}
private void AnimationEvent(object sender, EventArgs e)
{
if (!myLabel.Text.EndsWith("..."))
{
myLabel.Text += ".";
}
else
{
myLabel.Text = "Searching";
}
}
我这样使用它:
StartAnimation();
// ... do something.
StopAnimation();
myLabel.Text = "Something";
但它不起作用。它第一次运行时,动画完美。第二次显示:
Searching..
Searching
Searching..
Searching
第三次显示:
Searching...
Searching..
Searching.
Searching
Searching...
第四次它根本没有动画。从第五次开始,它会经历这个循环。
这真的很吸引我。有什么问题?