admin 管理员组

文章数量: 1086019


2023年12月22日发(作者:asp网站开发培训)

WinForm自定义一个颜色渐变的Panel控件

使用语言:C#.Winform

开发工具:VS2022

1、实现的效果图

2、整体代码

public class LinearGradientPanel : Panel

{

//定义一个渐变颜色开始的颜色为Red

private Color startColor = ;

//设置控件属性分类名称,在属性按分类顺序排列时显示

[Category("自定义属性")]

//设置控件属性默认值

[DefaultValue(typeof(Color), "Red")]

public Color StartColor

get { return startColor; }

set { startColor = value;

{

Invalidate();

}

//定义一个渐变颜色开始的颜色为Green

private Color endColor = ;

//设置控件属性分类名称,在属性按分类顺序排列时显示

[Category("自定义属性")]

}

//设置控件属性默认值

[DefaultValue(typeof(Color), "Green")]

public Color EndColor

{

get { return endColor; }

set { endColor = value;

Invalidate();

}

}

//定义一个渐变颜色渐变的方向角度

//这个角度指示控件坐标开始与X轴的角度,按照顺时针方向

private float exAngle = 90;

[Category("自定义属性")]

[DefaultValue(typeof(float), "90")]

public float ExAngle

{

get { return exAngle ; }

set { exAngle = value;

Invalidate();

}

}

public LinearGradientPanel()

{

DoubleBuffered = true;

}

//重新控件的OnPaint方法

protected override void OnPaint(PaintEventArgs e)

{

t(e);

ingMode = ias;

//主要用到LinearGradientBrush方法类,此类不能不继承

LinearGradientBrush brush = new

LinearGradientBrush(ClientRectangle,startColor,endColor,exAngle);

ctangle(brush,ClientRectangle);

}

}


本文标签: 控件 颜色 渐变