プロセスの進行中にラベルをアニメーション化しようとしています。このようなものにしたい(フレームごと):
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";
しかし、うまくいきません。初めて実行すると、完全にアニメーション化されます。2回目はこれを示しています:
Searching..
Searching
Searching..
Searching
そして 3 回目には次のように表示されます。
Searching...
Searching..
Searching.
Searching
Searching...
4回目はまったくアニメーションしません。そして5回目以降はこのサイクルを繰り返します。
本当に興味をそそられます。何が間違っている可能性がありますか?