使用透明背景设置动画用户控件不会刷新背景色

时间:2014-02-03 11:32:08

标签: c# .net winforms user-controls

我正在尝试为具有透明背景颜色的用户控件设置动画。 在动画(即,在垂直方向上向上移动控制)用户控制背景色不会刷新。

我已将控件放在图片框的顶部,然后将其设置为动画。图片框的等级颜色为背景色,底部为红色到蓝色。用户控件也有整形形状。

代码在Windows操作系统的C#中。

我尝试了很多选项,但仍面临同样的问题。下面是代码:

namespace AC
{
    public partial class MyTriangle: UserControl
    {
        public MyTriangle()
        {
            InitializeComponent();
            DefaultSettings();
            this.SetStyle(ControlStyles.SupportsTransparentBackColor, true);
            this.BackColor = Color.Transparent;
        }


        /// <summary>
        /// Method for Transparent background
        /// </summary>
        protected override CreateParams CreateParams
        {
            get
            {
                CreateParams cp = base.CreateParams;
                cp.ExStyle |= 0x20;
                return cp;
            }
        }

        protected override void OnPaintBackground(PaintEventArgs e)
        {

        }

        protected void InvalidateEx()
        {
            this.Invalidate();
        }

        protected override void OnPaint(PaintEventArgs e)
        {
            //base.OnPaint(e);
        }

    }
}

我相信我们需要做的任何改变都只是用户控制。 请参阅附加的traingle shape(tmp.png)和picturebox color(tmp1.png)![在此处输入图像说明] [1]以供参考。![在此处输入图像说明] [2]

由于

0 个答案:

没有答案