首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

c# Label控件 如何实现渐变的特效

2012-05-15 
c# Label控件 怎么实现渐变的特效?c# 的窗体可以设置Opacity属性 使窗体透明,结合timer 控件还可以实现渐

c# Label控件 怎么实现渐变的特效?
c# 的窗体可以设置Opacity属性 使窗体透明,结合timer 控件还可以实现渐变的效果。Label 控件怎么实现这个效果? 求解!!!

[解决办法]
private void Form3_Load(object sender, EventArgs e)
Thread th = new Thread(new ThreadStart(NewMethod));
th.IsBackground = true;
th.Start();
}

private void NewMethod()
{
Control.CheckForIllegalCrossThreadCalls = false;
for (int i = 0; i < 255; i++)
{
label1.ForeColor = Color.FromArgb(i, i, i);

Thread.Sleep(100);
}
}
不知道为什么 三楼的方法 我的Color没有三个参数的重载
还有进程问题
你那个方法中不能实现渐变 而是直接改变颜色

[解决办法]
发个刷子你自己刷刷看
using (LinearGradientBrush brush = new LinearGradientBrush(e.CellBounds, Color.LightGray,
Color.White, LinearGradientMode.Vertical))
{
e.Graphics.FillRectangle(brush, e.CellBounds);
Rectangle border = e.CellBounds;
border.Offset(new Point(-1, -1));
e.Graphics.DrawRectangle(Pens.Gray, border);
}
e.PaintContent(e.CellBounds);
e.Handled = true;
在OnPaint事件下好像是!你看看

热点排行