单击图片时如何播放单独的GIF?

时间:2016-12-24 21:07:41

标签: c# winforms

所以我刚开始学习C#,而我目前正在开发一个简单的Form应用程序。我想要做的是点击GIF时,它会切换到另一个GIF,然后在1秒后回到原始GIF。但是发生的事情一无所获。它只是保持原来的GIF。如果我尝试使用消息框而不是工作正常,它只是试图改变GIF的来源就是问题。

private void pictureBox1_Click(object sender, EventArgs e)
{
    /* pictureBox2.Show();
       Thread.Sleep(1000);
       pictureBox2.Hide(); */
    pictureBox1.Image = WindowsLogin.Properties.Resources.PenguinEXE;
    Thread.Sleep(1000);
    pictureBox1.Image = WindowsLogin.Properties.Resources.PenguinIdle;
}

我也尝试过使用ShowHide方法,但这种做法也不起作用。

1 个答案:

答案 0 :(得分:6)

您可以使用async/await

将您的方法标记为async并使用await Task.Delay(1000);代替Thread.Sleep(1000);

async private void pictureBox1_Click(object sender, EventArgs e)
{
    pictureBox1.Image = WindowsLogin.Properties.Resources.PenguinEXE;
    await Task.Delay(1000);
    pictureBox1.Image = WindowsLogin.Properties.Resources.PenguinIdle;
}