下载贤集网APP入驻自媒体
本文实例讲述了WinForm实现状态栏跑马灯效果的方法。分享给大家供大家参考,具体如下:
复制代码
- 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 WindowsFormsApplication1
- {
- public partial class Form1 : Form
- {
- public Form1()
- {
- InitializeComponent();
- }
- private Label label = new Label();
- public string text = "csdn baihe_591";
- private void Form1_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);
- }
- }
- }