正在加载执行过程中可见的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;
        }
    }

正在加载执行过程中可见的gif图像

不要使用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事件中隐藏图像。