欢迎来到代码驿站!

.NET代码

当前位置:首页 > 软件编程 > .NET代码

C#滚动字幕的实现方法

时间:2021-10-01 13:04:44|栏目:.NET代码|点击:

本文实例讲述了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#程序设计有所帮助。

上一篇:利用委托把用户控件的值显示于网页案例应用

栏    目:.NET代码

下一篇:.NET从优酷专辑中采集所有视频及信息(VB.NET代码)

本文标题:C#滚动字幕的实现方法

本文地址:http://www.codeinn.net/misctech/178345.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有