欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#滚动字幕的实现方法

程序员文章站 2023-12-18 18:06:58
本文实例讲述了c#滚动字幕的实现方法,分享给大家供大家参考。具体方法如下: 在c#中其实滚动屏幕的实现其实很简单,只需要用到graphics.drawstring方法....

本文实例讲述了c#滚动字幕的实现方法,分享给大家供大家参考。具体方法如下:

在c#中其实滚动屏幕的实现其实很简单,只需要用到graphics.drawstring方法. graphics.drawstring (string s, font font, brush brush, pointf point) 在指定位置并且用指定的 brush 和 font 对象绘制指定的文本字符串。

参数说明:

s 要绘制的字符串。
font 它定义字符串的文本格式。
brush 它确定所绘制文本的颜色和纹理。
point 结构,它指定所绘制文本的左上角。

其中,我们要用到的就是point函数,通过控制它的x或y参数来控制文字的偏移量.下面以水平滚动字幕为例.
  

复制代码 代码如下:
private  label label = new label(); 
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#程序设计有所帮助。

上一篇:

下一篇: