,所以我刚刚开始学习C#,目前正在研究一个简单的表单应用程序。我想做的是单击GIF时,它将切换到另一个GIF,然后在1秒钟后返回到原件。但是发生的事情是什么。它只是保持原始GIF。如果我尝试使用Message Box可以正常工作,那么它只是试图更改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;
}
我也尝试使用Show
和Hide
方法,但这也不起作用。
您可以使用异步/等待。
将您的方法标记为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;
}