当前位置: 移动技术网 > IT编程>开发语言>c# > Winform中使用Timer实现滚动字幕效果(附代码下载)

Winform中使用Timer实现滚动字幕效果(附代码下载)

2019年12月12日  | 移动技术网IT编程  | 我要评论

场景

效果

 

 

 

注:

博客主页:

关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

新建一个form,设置窗体的背景颜色为黑色,然后再拖拽一个listbox用来存取要滚动的内容,再拖拽一个timer组件

 

 

 

右击timer组件设置其属性

 

 

 

将enabled属性设置为true,表示可用,interval表示执行的时间间隔0.2秒。

然后timer还有一个tick事件,表示具体要执行的方法,即每隔0.2秒要执行的操作。

 

 

然后设置listbox的属性和要滚动的内容

            this.listbox1.backcolor = system.drawing.systemcolors.windowtext;
            this.listbox1.borderstyle = system.windows.forms.borderstyle.none;
            this.listbox1.forecolor = system.drawing.systemcolors.inactivecaption;
            this.listbox1.formattingenabled = true;
            this.listbox1.itemheight = 12;
            this.listbox1.items.addrange(new object[] {
            "逆战",
            "演唱:张杰",
            "在这个风起云涌的战场上",
            "暴风少年登场",
            "在战胜烈火重重的咆哮声",
            "喧闹整个世界",
            "硝烟狂飞的讯号",
            "机甲时代正来到",
            "热血逆流而上",
            "战车在发烫",
            "勇士也势不可挡",
            "come on逆战 逆战来也",
            "王牌要狂野",
            "闯荡宇宙摆平世界",
            "oh 逆战 逆战狂野",
            "在这个风起云涌的战场上",
            "暴风少年登场",
            "在战胜烈火重重的咆哮声",
            "喧闹整个世界",
            "硝烟狂飞的讯号",
            "机甲时代正来到",
            "热血逆流而上",
            "战车在发烫",
            "勇士也势不可挡",
            "come on逆战 逆战来也",
            "王牌要狂野",
            "闯荡宇宙摆平世界",
            "oh 逆战 逆战狂野"
           });
            this.listbox1.location = new system.drawing.point(56, 377);
            this.listbox1.name = "listbox1";
            this.listbox1.size = new system.drawing.size(400, 480);
            this.listbox1.tabindex = 0;

 

然后在窗体的load事件中,将listbox置于窗体最底部,即设置其距离顶部的距离为窗体的高度。

然后再上面设置的每隔0.2秒执行的方法中进行判断,如果listbox距离顶部的位置小于负的自己的高度,即一次轮播到顶,再重新设置其距离顶部的距离为窗体高度,否则就会将listbox举例顶部的距离减去5。

关键代码

       private void form1_load(object sender, eventargs e)
        {
            listbox1.top = this.height;
            this.focus();
        }

        private void timer1_tick(object sender, eventargs e)
        {
            if (listbox1.top < -listbox1.height)
            {
                listbox1.top = this.height;
            }
            listbox1.top = listbox1.top - 5;
            this.focus();
        }

代码下载

https://download.csdn.net/download/badao_liumang_qizhi/12025689

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网