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

注:
博客主页:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。
实现
新建一个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 = ;
this.listBox1.Items.AddRange(new object[] {
"逆战",
"演唱:张杰",
"在这个风起云涌的战场上",
"暴风少年登场",
"在战胜烈火重重的咆哮声",
"喧闹整个世界",
"硝烟狂飞的讯号",
"机甲时代正来到",
"热血逆流而上",
"战车在发烫",
"勇士也势不可挡",
"come on逆战 逆战来也",
"王牌要狂野",
"闯荡宇宙摆平世界",
"Oh 逆战 逆战狂野",
"在这个风起云涌的战场上",
"暴风少年登场",
"在战胜烈火重重的咆哮声",
"喧闹整个世界",
"硝烟狂飞的讯号",
"机甲时代正来到",
"热血逆流而上",
"战车在发烫",
"勇士也势不可挡",
"come on逆战 逆战来也",
"王牌要狂野",
"闯荡宇宙摆平世界",
"Oh 逆战 逆战狂野"
});
this.listBox1.Location = new System.Drawing.Point(, );
this.listBox1.Name = "listBox1";
this.listBox1.Size = new System.Drawing.Size(, );
this.listBox1.TabIndex = ;
然后在窗体的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 - ;
this.Focus();
}
代码下载
https://download.csdn.net/download/BADAO_LIUMANG_QIZHI/12025689
Winform中使用Timer实现滚动字幕效果(附代码下载)的更多相关文章
- JPA中实现双向多对多的关联关系(附代码下载)
场景 JPA入门简介与搭建HelloWorld(附代码下载): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103473937 ...
- Winform中实现自定义屏保效果(附代码下载)
场景 效果 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 新建form ...
- DS控件库 DSLed控件呈现滚动字幕效果
滚动字幕效果在DSled上可以使用偏移来实现,代码如下 运行效果
- 如何在pyqt中实现丝滑滚动字幕
滚动字幕的视觉效果 网上有很多博客介绍了滚动字幕的实现方法,懂得都懂,大部是 Ctrl C + Ctrl V,效果还很差,最后还是得靠自己.主要思路就是通过定时器定时刷新+绘制两段完整的字符串来达到 ...
- Winform中实现仿XP系统的任务栏菜单效果(附代码下载)
场景 效果 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 新建一个Fo ...
- Winform中实现将照片剪贴到系统剪切板中(附代码下载)
场景 效果 点击剪切按钮 点击粘贴按钮 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免 ...
- Winform中实现批量文件复制(附代码下载)
场景 效果 将要批量复制的文件拖拽到窗体中,然后点击下边选择目标文件夹,然后点击复制按钮. 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公 ...
- Winform中实现向窗体中拖放照片并显示以及拖放文件夹显示树形结构(附代码下载)
场景 向窗体中拖拽照片并显示效果 向窗体中拖拽文件夹并显示树形结构效果 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 ...
- Winform中实现拖拽文件到ListView获取文件类型(附代码下载)
场景 效果 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 新建一个for ...
随机推荐
- 基于SDF渲染字体
18号字体 18号字体放大15倍 基于sdf渲染字体放大15倍 相比常规的渲染方式,基于SDF渲染文字可无限放大并保持清晰,几乎没有开销就可实现描边,发光,抗锯齿等效果.且它只需要很小的纹理缓存SDF ...
- Linux -- 进程间通信几种方式的总结
管道 优点 管道文件不占磁盘空间,打开管道时在内存中分配空间: 管道读端会在读取完管道内数据后自动进入阻塞,直到写端再次写入数据: 缺点 管道是半双工的,数据只能从一个方向上流动: 管道大小 PIPE ...
- PythonI/O进阶学习笔记_7.python动态属性,__new__和__init__和元类编程(上)
content: 上: 1.property动态属性 2.__getattr__和__setattr__的区别和在属性查找中的作用 3.属性描述符 和属性查找过程 4.__new__和__init__ ...
- Kotlin实战案例:带你实现RecyclerView分页查询功能(仿照主流电商APP,可切换列表和网格效果)
随着Kotlin的推广,一些国内公司的安卓项目开发,已经从Java完全切成Kotlin了.虽然Kotlin在各类编程语言中的排名比较靠后(据TIOBE发布了 19 年 8 月份的编程语言排行榜,Kot ...
- spring奇怪异常记录(会逐渐记录)
1 严重: Context initialization failedorg.springframework.beans.factory.BeanCreationException: Error cr ...
- 【Android - 控件】之MD - Snackbar的使用
Snackbar 是 Android 5.0 新特性——Material Design 中的一个控件,用来代替 Toast ,Snackbar与Toast的主要区别是:Snackbar可以滑动退出,也 ...
- 单例模式-python
单例模式 什么是单例 当实例化多次得到的对象中存放的属性都一样的情况,应该将多个对象指向同一个内存,即同一个实例 有什么优点 在内存里只有一个实例,减少了内存的开销,尤其是频繁的创建和销毁实例(比如管 ...
- MySQL-简介-安装(5.5版和5.7版)
1.什么是MySQL (1)MySQL是一种关联数据库管理系统. (2)关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库中,可以增加速度,提高灵活性. (3)MySQL使用的是数据库常 ...
- input 输入框 只能输入数字、字母、汉字等
1.文本框只能输入数字代码(小数点也不能输入) <input onkeyup="this.value=this.value.replace(/\D/g,'')" onafte ...
- 从自动化到智能化,网易杭研的AIOps探索与实践
在大数据时代下,我们借助机器学习.数据仓库.大数据平台等大数据技术手段,将运维产生的数据进行分析.处理,得出最佳运维策略,以期实现对故障的事先干预,将风险降低到最低,从而降低运维成本,提升运维效率,最 ...