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

在X时间内以C#加载动画GIF图像,c#,winforms,animated-gif,C#,Winforms,Animated Gif,如何在窗体中显示动画,控制其大小和持续时间 我试过这样的方法: private void AnimImage() { PicBox.Enabled = true; PicBox.Visible = true; System.Threading.Thread.Sleep(5000); PicBox.Visible = false; PicBox.Enabled = false; } 将picturebox添加到表单中,并在p

如何在窗体中显示动画,控制其大小和持续时间

我试过这样的方法:

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

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


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

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

1.)在表单上放置一个图片盒。

2.)在designer的属性窗口中,更改图像属性,使其包含图像的路径。

3.)根据需要调整大小。

就这样,现在尝试运行项目,如果没有引发异常,您将在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秒钟,请执行此操作

在表单上放置计时器。

将其Interval属性设置为5000毫秒。

为其勾号事件创建一个新事件(在事件窗口中找到勾号事件并双击它)。

下一步修改DisplayImage(),使其看起来像:

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");
}
接下来定义一个名为count的整数字段(在所有函数之外),如下所示

private int count=0;
现在修改timer1_Tick()事件,使其如下所示

private void timer1_Tick(object sender, EventArgs e)
{
    count++;
    if (count == 5)
    {
        SourcePictureBox.Image = null;
        count = 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

现在添加您的按钮,并将以下代码添加到按钮1\u单击

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


如果这导致循环错误,即gif没有隐藏,只需放置timer.Stop();在图片框中单击。

不知道是否有更好的方法,但您可以使用和模式对话框和更新面板来完成。或者只是使用jquery和ajax调用。。。多种口味,只需使用图片盒即可满足您的需求。如果不想再查看它,请将其Visible属性设置为false。对于动画图像,可以使用此控制器。这没关系,但我无法控制图像显示的时间displayed@mafap,您所说的
控制图像显示的时间是什么意思?
?将图像显示5秒钟example@mafap当需要从PictureBox中删除图像时,请将其image属性设置为null,类似于此
SourceImageBox.Image=null
。此外,如果要停止引导线,请在
MouseMove\u Event
OnPaint\u Event
中用“if-else语句”环绕代码,当你想隐藏它们时,请提供false,如果你需要该代码,请通知我,我会尝试为你获取。看起来是一个很好的解决方案,我正在考虑在鼠标移动时将图像属性设置为false。你能给我一些密码吗?