所以我刚开始学习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)
我也试过使用Show
和Hide
方法,但也没用.
您可以使用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)