c#Label控件 怎么实现渐变的特效

 我来答
百度网友154139e
2016-12-06 · TA获得超过413个赞
知道小有建树答主
回答量:295
采纳率:50%
帮助的人:250万
展开全部

你的渐变是背景色的慢慢变淡吗?你要重写Label.Paint事件,先用渐变画刷画一个跟Label一样大的矩形,再把字写上去就行了。

private void label1_Paint(object sender, PaintEventArgs e)
{
    //画个渐变的矩形,大小跟Label1一样大。            
    e.Graphics.FillRectangle(new LinearGradientBrush(e.ClipRectangle, Color.LightGray, Color.White,  LinearGradientMode.Horizontal)
        , e.ClipRectangle);
    //写字,居中,Font用Label1
    StringFormat stringFormat = new StringFormat();
    stringFormat.Alignment = StringAlignment.Center;
    stringFormat.LineAlignment = StringAlignment.Center;
    Brush brush = new SolidBrush(label1.ForeColor);
    e.Graphics.DrawString(label1.Text, label1.Font, brush, e.ClipRectangle, stringFormat);
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式