C#滚动字幕的实现方法
本文实例讲述了c#滚动字幕的实现方法,分享给大家供大家参考。具体方法如下:
在c#中其实滚动屏幕的实现其实很简单,只需要用到graphics.drawstring方法. graphics.drawstring (string s, font font, brush brush, pointf point) 在指定位置并且用指定的 brush 和 font 对象绘制指定的文本字符串。
参数说明:
s 要绘制的字符串。
font 它定义字符串的文本格式。
brush 它确定所绘制文本的颜色和纹理。
point 结构,它指定所绘制文本的左上角。
其中,我们要用到的就是point函数,通过控制它的x或y参数来控制文字的偏移量.下面以水平滚动字幕为例.
public string text="csdn baihe_591";
private void frmshow_load(object sender, eventargs e)
{
this.label.location = new point(149, 13);
this.label.size = new size(134, 16);
this.controls.add (label);
this.label.text = "";
this.timer1.enabled = true;
this.timer1.interval = 500;
p = new pointf(this.label.size.width, 0);
}
pointf p;
font f = new font("宋体", 10);
color c = color.white;
string temp;
private void timer1_tick(object sender, eventargs e)
{
graphics g = this.label.creategraphics();
sizef s = new sizef();
s = g.measurestring(text, f);//测量文字长度
brush brush = brushes.black;
g.clear(c);//清除背景
if (temp != text)//文字改变时,重新显示
{
p = new pointf(this.label.size.width, 0);
temp = text;
}
else
p = new pointf(p.x - 10, 0);//每次偏移10
if (p.x <= -s.width)
p = new pointf(this.label.size.width, 0);
g.drawstring(text, f, brush, p);
}
希望本文所述对大家的c#程序设计有所帮助。