本文实例讲述了WinForm实现状态栏跑马灯效果的方法。分享给大家供大家参考,具体如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
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); } } } |
希望本文所述对大家C#程序设计有所帮助。