C#实现跑马灯效果的示例代码
public partial class CustomLable : Label
{
System.Timers.Timer timer = new System.Timers.Timer(200);
int offset = 5;//偏移量
PointF textPoint;
public CustomLable()
{
InitializeComponent();
textPoint = new PointF(this.Width, 0);
timer.Elapsed += (s, e) =>
{
try
{
if (!IsDisposed)
{
Graphics g = CreateGraphics();
SizeF textSize = g.MeasureString(Text, Font);
textPoint.X -= offset;
if (textPoint.X <= -textSize.Width)
{
textPoint.X = Width;
}
g.Clear(BackColor);
g.DrawString(Text,Font, new SolidBrush(ForeColor), textPoint);
}
}
catch { }
};
}
protected override void OnPaint(PaintEventArgs pe)
{
base.OnPaint(pe);
}
private bool _IsMarquee;
[Browsable(true)]
[Description("是否以跑马灯效果显示")]
public bool IsMarquee
{
get { return _IsMarquee; }
set
{
_IsMarquee = value;
Marquee();
}
}
public void Marquee()
{
if (IsMarquee)
{
timer.Start();
}
else
{
timer.Stop();
textPoint = new PointF(0, 0);
try
{
if (!IsDisposed)
{
Graphics g = CreateGraphics();
g.Clear(BackColor);
g.DrawString(Text, Font, new SolidBrush(ForeColor), textPoint);
}
}
}
}
}
- .NET Core系列之MemoryCache 初识
- 007手机一键Root(安机网一键Root) v3.0 官方最新版 一键ROOT您的Android手机
- 12306密码被盗了怎么办?12306密码外泄解决方法
- 12个字的qq网名
- 150M迷你型无线路由器怎么设置?
- 192.168.1.1打不开怎么办?路由器192.168.1.1打不开的原因以及解决办法
- 2011年电子报合订本 电子报 编辑部 中文 PDF版 [84M]
- 2015年1月15日小米新旗舰发布会现场图文直播
- 2016.3.1vivo Xplay5新品发布会现场视频直播 优酷直播
- 2016华为P9发布会视频直播地址 4月15日华为P9国行发布会直播