滚动字在C#中如何实现

 我来答
糖糖寳寳
2015-09-09 · TA获得超过6.4万个赞
知道大有可为答主
回答量:1.8万
采纳率:92%
帮助的人:3953万
展开全部

需要用到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);    
}
linux001
2010-06-03 · TA获得超过1401个赞
知道大有可为答主
回答量:1665
采纳率:100%
帮助的人:1362万
展开全部
一个文本框控件,写上你要滚动的文字。。一个TIMER控件。下面是代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplicationMarquee
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void timer1_Tick(object sender, EventArgs e)
{
string text = textBox1.Text;
string text1 = text.Substring(1);
string text2 = text1 + text[0];
textBox1.Text = text2;
}
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式