toolStripStatusLabel里面的文字滚动
winform中statusStrip1中怎样让某一个toolStripStatusLabel里面的文字滚动。。。
------解决方案--------------------
Lable的绘制事件,timer来实现
1.订阅Lable的绘制事件
void label1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
Label lb = sender as Label;
e.Graphics.DrawString(lb.Text,lb.Font,Brushes.Black,new PointF(paintX,0));
}
2.设置一个Timer定时重绘Lable控制
void timer_Tick(object sender, EventArgs e)
{
paintX = (++ paintX) % label1.Width;
label1.Invalidate();
}
其他的参考:http://blog.163.com/zhangxinxiao_zxx/blog/static/1119762152009728920257/
------解决方案--------------------
C# code
string s = "中华人民共和国中华人民共和国";
int i = 0;
private void timer1_Tick(object sender, EventArgs e)
{
SetText(i);
i++;
}
private void SetText(int index)
{
//记得添加容错,放置 i 越界
toolStripStatusLabel1.Text = s.Substring(i, s.Length - i);
}