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;
}

做的粗糙,还有不足的地方还请大家多多指教指教。。。。小弟

 
posted @ 2011-05-20 08:47  Cai_Si_Jun  阅读(2521)  评论(2编辑  收藏  举报