如何在mousehover事件中将图片框图像淡化为另一个?

时间:2015-04-27 08:08:46

标签: c# .net winforms animation picturebox

如何将图片框设置动画,以便在鼠标悬停事件中将图像从一个图像更改为另一个图像作为淡入效果?

我还想创建动画图片框作为控件。易于使用的工具箱项

我尝试使用.Net 4.5在C#语言中创建它。

我想制作图片框的按钮示例。 Animated Button Example-MSDN

1 个答案:

答案 0 :(得分:2)

如果你想要动画或者提供动画类和平滑动画对象这样的东西,最好使用WPF。

无论如何在Winforms中你应该使用一个计时器来实现这个方法。 这是为了淡出你可以使用它来使淡入功能。 鼠标悬停在你的图片框上使用它。 此链接详细说明

How to fade in and fade out (Fading transition ) image on panel(backgroud image)?

int opacity = 0;

private void tmrFadeOut_Tick(object sender, EventArgs e)
{
if (opacity < 255)
{
    Image img = myImage.Image;
    using (Graphics g = Graphics.FromImage(img))
    {
        Pen pen = new Pen(Color.FromArgb(opacity, 255, 255, 255), img.Width);
        g.DrawLine(pen, -1, -1, img.Width, img.Height);
        g.Save();
    }
    myImage.Image = img;
    opacity++;
}
else
{
    timer1.Stop();
}
}