如何在winforms中的特定帧停止GIF

时间:2013-07-20 13:47:20

标签: c# winforms gif

基本上我的问题是如何在特定帧停止GIF。

我有一个已经使用GIF设置图像的图片框,我创建了2个事件EnterLeave

    private void pictureBox1_MouseEnter(object sender, EventArgs e)
    {
        pictureBox1.Image = Properties.Resources.LOGODEFAULT1;
    }
    private void pictureBox1_MouseLeave(object sender, EventArgs e)
    {
        pictureBox1.Image = Properties.Resources.LOGOLEAVE1;
    }

我想要的是在最后一帧停止GIF(所有gif由7帧组成) 我尝试了ImageAnimator和ImageStop

 private void pictureBox1_MouseEnter(object sender, EventArgs e)
    {
        ImageAnimator.Animate(pictureBox1.Image, OnFrameChanged1);
    }
    private void pictureBox1_MouseLeave(object sender, EventArgs e)
    {
        ImageAnimator.StopAnimate(pictureBox1.Image, OnFrameChanged2); 
    }
    private void OnFrameChanged1(object sender, EventArgs e)
    {
        pictureBox1.Image = Properties.Resources.LOGODENTER;
    }
    private void OnFrameChanged2(object sender, EventArgs e)
    {
        pictureBox1.Image = Properties.Resources.LOGOLEAVE1;
    }

1 个答案:

答案 0 :(得分:0)

我认为你可以使用Image.SelectActiveFrame Method