我想让它执行第一部分代码,然后让图片框可见,暂停3秒,隐藏图片框,然后执行剩下的代码:
// first part of the code here
pb_elvisSherlock.Visible = true;
Thread.Sleep(300);
pb_elvisSherlock.Visible = false;
// rest of the code here
但是它执行了整个代码块然后才暂停。有什么想法吗?
谢谢!
最佳答案
如果您试图让 PictureBox
出现 3 秒,您可能希望您的应用程序在这段时间内保持响应。所以使用 Thread.Sleep
不是一个好主意,因为您的 GUI 线程在休眠时不会处理消息。
更好的选择是将 System.Windows.Forms.Timer
设置为 3000 毫秒,以便在 3 秒后隐藏 PictureBox
而不会阻塞您的 GUI。
例如,像这样:
pb.Visible = true;
var timer = new Timer();
timer.Tick += () => { pb.Visible = false; timer.Stop(); };
timer.Interval = 3000;
timer.Start();
关于c# - Thread.Sleep(300) 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4510397/