C# .gif格式的动画未在windows窗体中显示

C# .gif格式的动画未在windows窗体中显示,c#,winforms,visual-studio,desktop-application,picturebox,C#,Winforms,Visual Studio,Desktop Application,Picturebox,我对c#和windows窗体非常陌生 我正在尝试将PictureBox添加到windows窗体,并在窗体中显示数据之前显示动画.gif图像 以下是PictureBox的代码: private System.Windows.Forms.PictureBox pictureBox1; // // pictureBox1 // this.pictureBox1.BackColor = System.D

我对c#和windows窗体非常陌生

我正在尝试将PictureBox添加到windows窗体,并在窗体中显示数据之前显示动画.gif图像

以下是PictureBox的代码:

private System.Windows.Forms.PictureBox pictureBox1;

            // 
            // pictureBox1
            // 
            this.pictureBox1.BackColor = System.Drawing.SystemColors.AppWorkspace;
            this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image")));
            this.pictureBox1.Location = new System.Drawing.Point(374, 442);
            this.pictureBox1.Name = "pictureBox1";
            this.pictureBox1.Size = new System.Drawing.Size(16, 16);
            this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
            this.pictureBox1.TabIndex = 19;
            this.pictureBox1.TabStop = false;
            this.pictureBox1.Visible = false;                
现在,单击按钮,gif图像应加载到图片框中。其代码如下所示:

private void scanButton_Click(object sender, EventArgs e)
        {
            pictureBox1.Visible = true;
            pictureBox1.Refresh();  
        }
现在,当我单击“扫描按钮”按钮时,图像变为可见,但动画不起作用

谁能帮我一下这里发生了什么事


谢谢

只需在
ImageLocation
中为图像指定路径即可

pictureBox1.ImageLocation = "C:\\throbber.gif";

PictureBox
将理解这是一个动画图像并播放它。禁用
PictureBox
表单将停止播放动画。

如果确实需要使用图片框,可以在图像集合上迭代。但我强烈建议使用WebBrowser(注意它基本上是IE)

这将有助于您处理使用windows窗体的所有动画

要使.gif动画正常工作,您的主(UI)线程应该是空闲的。如果您在主线程上执行任何进程,则不会获得动画效果

从您的问题来看,您似乎正在点击按钮执行扫描操作。这可能就是问题所在


要解决此问题,您必须确保主线程是空闲的,并且任何操作(如扫描)都应该在单独的线程上。

要使.gif动画正常工作,主(UI)线程应该是空闲的。如果您在主线程上执行任何进程,则不会获得动画效果。您可能会发现此帖子很有用: