在X时间内在C#中加载动画GIF图像

时间:2013-08-31 13:25:31

标签: c# winforms animated-gif

如何在表单中显示动画image,控制其大小和持续时间?

我尝试过这样的事情:

private void AnimImage()
{
    PicBox.Enabled = true;
    PicBox.Visible = true;                
    System.Threading.Thread.Sleep(5000);
    PicBox.Visible = false;
    PicBox.Enabled = false;
}

3 个答案:

答案 0 :(得分:4)

要在表单上显示动画图像,请执行以下操作:

1.)Drop a PictureBox on your Form.

2.)In the Properties Window of designer,change the image property so it contains the path to your image.

3.)Resize it as per your needs.

就是这样,现在尝试运行项目,如果没有抛出异常,你会在PictureBox中看到你的图像动画。
如果要更改图像,请在项目执行过程中的任何时候使用以下语句;

pictureBox1.Load("Path to a new image");//Assuming you haven't renamed the PictureBox.

此外,如果您想手动完成这些工作,请继续阅读;

private void DisplayImage()
{
    PictureBox pictureBox1=new PictureBox();
    pictureBox1.Location=new Point(Use appropriate values to place the control);
    this.Controls.Add(pictureBox1);
    pictureBox1.Load("Path to a image to display");
}

如果您不想显示PictureBox,请将其visible属性设置为false,就像其他用户所说的那样;

pictureBox1.Visible=false;

并将其取回使用以下代码;

pictureBox1.Visible=true;

更新:

要仅显示图像5秒钟,请执行此操作;

Drop a Timer on your Form.

Set its Interval property to 5000 Milliseconds.

Create a new Event for its Tick Event (locate Tick event in Events Window and double click it).

Next modify DisplayImage() so it looks like :

private void DisplayImage()
{
    timer1.Start();
    PictureBox pictureBox1=new PictureBox();
    pictureBox1.Location=new Point(Use appropriate values to place the control);
    this.Controls.Add(pictureBox1);
    pictureBox1.Load("Path to a image to display");
}

Next define an integer field(outside all functions) named count,like this;

private int count=0;

Now modify timer1_Tick() event so it looks like below;

private void timer1_Tick(object sender, EventArgs e)
{
    count++;
    if (count == 5)
    {
        SourcePictureBox.Image = null;
        count = 0;
    }
}

那应该做的工作。别的,请告诉我。

答案 1 :(得分:1)

在图片框中添加一个图片框并在图片框中添加.gif图片。在加载表单时,将图片框的可见性设置为true。

请确保在加载时启用了图片框,否则Windows窗体中不会出现任何图像动画。

答案 2 :(得分:0)

打开你的表格 在您的解决方案资源管理器中打开您的项目名称,打开属性并右键单击要添加到其中的资源。 拖动.Gif图像并将其设置为启用并保存。

添加一个pictureBox并将图像设置为你的Gif(不是背景图像或它不会工作)不要插入或重置定时器,因此GIF会循环。

添加计时器,将其设置为5000(5秒)并启用它。

双击图片框并输入

pictureBox1.Visible = false;  (assuming you have not renamed your picturebox) (NOTE this is a back up encase the timer fails)

返回到您的表单并双击您的计时器,然后添加 pictureBox1.Visible = false; timer1.Stop(); (防止计时器在加载时启动)

一旦时间到了,您的图像就会关闭(如果没有,则只需点击它)

如果你需要你的Gif按钮点击开始 在私有void中已初始化写入其中 添加pictureBox1.Visible = false;

现在添加你的按钮并将以下代码编辑到button1_click

pictureBox1.Visible = true;   Timer1.Start(); (这是用于在按钮点击时启动计时器的代码) 在这里输入代码

如果这导致循环错误,即gif不隐藏,只需输入timer.Stop();在picturebox_click。