Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何创建图像[]-使用C#鼠标悬停时的动画按钮?_C#_Winforms - Fatal编程技术网

如何创建图像[]-使用C#鼠标悬停时的动画按钮?

如何创建图像[]-使用C#鼠标悬停时的动画按钮?,c#,winforms,C#,Winforms,我想制作一个带有动画的按钮,从图像到鼠标悬停事件的最后一帧播放一次,它应该在鼠标左键设置原始图像(第一个“动画帧”)。所有图像以bmp格式显示,并分开显示 我只是有一段代码,比如: Bitmap bmp = (Bitmap)Bitmap.FromFile("button_01.bmp"); bmp.MakeTransparent(Color.Black); 但总体上还是在思考如何去做。有什么例子吗 早 中间的 决赛 定义表单字段: CancellationTokenSource cance

我想制作一个带有动画的按钮,从图像到鼠标悬停事件的最后一帧播放一次,它应该在鼠标左键设置原始图像(第一个“动画帧”)。所有图像以bmp格式显示,并分开显示

我只是有一段代码,比如:

Bitmap bmp = (Bitmap)Bitmap.FromFile("button_01.bmp");
bmp.MakeTransparent(Color.Black);
但总体上还是在思考如何去做。有什么例子吗

中间的

决赛 定义表单字段:

CancellationTokenSource cancellationTokenSource = new CancellationTokenSource();
处理两个事件:

private async void Button_MouseEnter(object sender, EventArgs e)
{
    try
    {
        await Task.Delay(1000, cancellationTokenSource.Token);
        button.BackgroundImage = bmp2;
        await Task.Delay(1000, cancellationTokenSource.Token);
        button.BackgroundImage = bmp3;
    }
    catch (TaskCanceledException) { }
}

private void Button_MouseLeave(object sender, EventArgs e)
{
    cancellationTokenSource.Cancel();
    button.BackgroundImage = bmp1;
    cancellationTokenSource = new CancellationTokenSource();
}