如何在鼠标悬停事件中将一个图片框图像淡入另一个图像?

How do I fade a picturebox image to another on mousehover event?

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

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

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

我想让图片框执行的按钮示例。 Animated Button Example-MSDN

如果你想要动画或类似的东西,最好使用 WPF,因为它提供动画 类 和平滑的动画对象。

无论如何,在 Winforms 中,您应该为这种方法使用计时器,这应该可行。 这是淡出你可以用它来淡入功能。 在鼠标悬停在图片框上时使用它。 这个link解释的很详细

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