【发布时间】:2016-08-19 08:39:56
【问题描述】:
我对 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();
}
现在,当我单击“扫描按钮”按钮时,图像变得可见,但动画不起作用。
请任何人帮助我这里发生了什么?
谢谢!
【问题讨论】:
-
为了让您的 .gif 动画正常工作,您的主 (UI) 线程应该是空闲的。如果您在主线程上执行任何进程,那么您将无法获得动画效果。
-
您可能会发现这篇文章很有用:Show Transparent Loading Spinner above other Controls
标签: c# winforms visual-studio desktop-application picturebox