2024年3月7日发(作者:)
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);
}
}


发布评论