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

Zac*_*epp 3 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;
}
Run Code Online (Sandbox Code Playgroud)

我也试过使用ShowHide方法,但也没用.

L.B*_*L.B 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;
}
Run Code Online (Sandbox Code Playgroud)