正在加载执行过程中可见的gif图像
本文关键字:gif 图像 过程中 加载 执行 | 更新日期: 2023-09-27 17:57:41
我正在使用windows应用程序和C#。。我有一张在应用程序开始时看不见的照片。。单击某个按钮时,必须显示图片框。。
我使用这种编码,但图片框不可见
private void btnsearch_Click(object sender, EventArgs e)
{
if (cmbproject.Text == "---Select---")
{
MessageBox.Show("Please Select Project Name");
return;
}
else
{
pictureBox1.Visible = true;
pictureBox1.BringToFront();
pictureBox1.Show();
FillReport();
Thread.Sleep(5000);
pictureBox1.Visible = false;
}
}
不要使用Sleep
-它会阻塞线程,这意味着不会处理任何窗口消息,也不会重新绘制表单。
相反,您可以使用Timer
在5秒钟后隐藏图像。
在你的表单中添加一个计时器,并将你的代码更改为这样:
pictureBox1.Visible = true;
FillReport();
timer1.Interval = 5000;
timer1.Start();
在计时器事件中:
private void Timer1_Tick(object sender, EventArgs e) {
pictureBox1.Visible = false;
timer1.Stop();
}
现在,您的图像应该在5秒内可见。
但是,在执行FillReport
时,表单仍然不会重新绘制。如果您需要图像在此时可见,我建议使用BackgroundWorker
来执行FillReport
,这样它就不会阻塞UI线程。然后您可以在RunWorkerCompleted
事件中隐藏图像。