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