3

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

我尝试了这样的事情:

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

3 回答 3

8

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

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;
    }
}

那应该做的工作。还有什么,请告诉我。

于 2013-08-31T15:12:14.620 回答
1

将图片框添加到您的表单并在图片框中添加 .gif 图像。在加载表单时使图片框可见性为 true。

请确保在加载时已启用图片框,否则在 windows 窗体中将不会有任何图像动画。

于 2013-08-31T14:47:49.327 回答
0

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

添加一个图片框并将图像设置为您的 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 中的添加图片Box1.Visible = false;

现在添加您的按钮并将以下代码添加到 button1_click

图片框1.可见=真;Timer1.Start(); (这是用于在按钮单击时启动计时器的代码)在此处输入代码

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

于 2015-09-05T21:43:42.987 回答