c#字幕滚动(winform)/蔡丝军/
老大突然叫我做一个LED屏的项目,没办法,就写了一个简单的例子,然后附到项目中。
要求:实现左右上下都可以自动轮回转动,把所有内容都要显示出来。一个都不能落下。还要可以设置滚动的字幕的大小,字体,颜色等等。
图如:
滚动的控件
时间控件
代码如:
时间控件隔时发生事件代码:
左右滚动:
/// <summary>
/// 时间空间1
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void timer1_Tick_1(object sender, EventArgs e)
{
textBox9.Text = ClassVar.SystemNowTimeLong();
label1.Left = label1.Left - 2;
if (label1.Left < 0 - label1.Width)
{
label1.Left = 1050;
}
label25.Left = label25.Left - 2;
if (label25.Left > this.Width)
{
label25.Left = 135;
}
//label25.Right++;
//label24.Left++;
//if (label24.Left > this.Width)
//{
// label24.Left = 300;
//}
//label13.Left++;
//if (label13.Left > this.Width)
//{
// label13.Left = 300;
//}
//label19.Left++;
//if (label19.Left > this.Width)
//{
// label19.Left = 300;
//}
//label8.Left++;
//if (label8.Left > this.Width)
//{
// label8.Left = 300;
//}
//label9.Left++;
//if (label9.Left > this.Width)
//{
// label9.Left = 300;
//}
//label10.Left++;
//if (label10.Left > this.Width)
//{
// label10.Left = 300;
//}
//label11.Left++;
//if (label11.Left > this.Width)
//{
// label11.Left = 300;
//}
//label18.Left++;
//if (label18.Left > this.Width)
//{
// label18.Left = 300;
//}
上下滚动代码:
/// <summary> /// 时间空间2 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void timer2_Tick(object sender, EventArgs e) { int top = label23.Top; int bt = label23.Bottom; top = top - 2; if (bt <= this.Top) { top = 450; } label23.Top = top; }
加载时代码:
private void Form1_Load(object sender, EventArgs e) { timer1.Enabled = true; }
做的粗糙,还有不足的地方还请大家多多指教指教。。。。小弟