当您将鼠标悬停在按钮上时,有人可以帮助创建像 Win7 Calculator 中的 winform 动画,目前我使用一堆图像然后在 backgroundworker 中循环它,但我认为它错了,这是我的代码:
当鼠标进入时会发生这种情况,
private void bgTurnOn_DoWork(object sender, DoWorkEventArgs e)
{
Label labelSender = (Label)e.Argument;
int ii = labelSender.ImageIndex;
for (int i = ii + 4; i <= 11; i++)
{
if (labelSender.AllowDrop)
{
labelSender.ImageIndex = i;
Thread.Sleep(40);
}
}
}
当鼠标离开时
private void bgTurnOff_DoWork(object sender, DoWorkEventArgs e)
{
Label labelSender = (Label)e.Argument;
int ii = labelSender.ImageIndex;
for (int i = ii; i >= 0; i--)
{
if (!labelSender.AllowDrop)
{
labelSender.ImageIndex = i;
Thread.Sleep(80);
}
}
}
注意:我只是使用 AllowDrop,所以我不想声明新变量,我有 42 个按钮,所以我认为我需要更有效的解决方案。