您能告诉我如何在C#中向按钮添加动画gif吗?仅通过向资源中添加gif并将其设置为按钮图像就不能很好地工作(下一帧出现在前面的帧上)。问题似乎在于c#如何处理透明度,但我不知道如何解决。

提前致谢。

-编辑-

玩完gif后,问题出在gif透明。下一个帧是在前一个帧上绘制的,因此我想要在动画中间变得透明的元素只是做得不好(它们仍然具有前一帧的颜色)。解决方案是在下一帧上创建白色区域以覆盖前一帧。白色是我的透明色,所以之后一切看起来都很好:)

我希望有人会觉得它有用。
快乐编程:)

最佳答案

为此,您需要执行以下操作:


将BackGroundImageLayout属性设置为Center。默认情况下,此属性设置为Tile。
将按钮的“图像”属性设置为动画GIF。


这是可行的,因为我已经对其进行了测试,并且对我有用。

编辑:设计器代码发布如下:

 this.Button4.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
 this.Button4.Image = (System.Drawing.Image)resources.GetObject("Button4.Image");
 this.Button4.Location = new System.Drawing.Point(220, 329);
 this.Button4.Name = "Button4";
 this.Button4.Size = new System.Drawing.Size(81, 68);
 this.Button4.TabIndex = 4;
 this.Button4.Text = "Button4";
 this.Button4.UseVisualStyleBackColor = true;

10-07 20:54