欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

winform自定义控件(1)———设置透明背景色

程序员文章站 2022-06-08 16:26:12
...
class TransparentControl : Control 
{
    public TransparentControl()
    {
        this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);
        this.SetStyle(ControlStyles.DoubleBuffer, true);
        this.SetStyle(ControlStyles.ResizeRedraw, true);
        this.SetStyle(ControlStyles.Selectable, true);
        //this.SetStyle(ControlStyles.SupportsTransparentBackColor, false );
        this.SetStyle(ControlStyles.UserPaint, true);

    }

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

自定义一个控件,如果我想设置背景色是透明色的话如下:

transparentControl1.BackColor = Color.FromArgb(100, 255, 0, 0);

会直接报错,并且提示控件不支持透明的背景色,此时要执行下面一句代码即可:

  this.SetStyle(ControlStyles.SupportsTransparentBackColor, true);

该句代码的作用就是指示控件的背景色可以支持透明色

相关标签: c#