C# 实现窗体底部滚动字幕
使用的控件
- panel和label及其定时器。
实现原理
- 通过定时器定时将label的位置在panel上进行移动,实现滚动的视觉效果,此处将label放在panel上的好处是可以单独设置滚动字母的背景色,且滚动字幕的整体显示区域可有panel控制。
控件布置
- 在需要显示滚动字幕的位置放置一个panel并设置其大小和位置,在同样的位置上放置label,并在父窗体为panel的情况下将label的位置设置为(0,0),也可以在代码中设置,拖动定时器到窗体上。
源代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms; namespace ScrollText
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private int PosX = 0; // 定义全局变量
private void Form1_Load(object sender, EventArgs e)
{
timer1.Enabled = true;
PosX = this.panel.Width; // 获取初始位置
this.label.Location = new Point(PosX, this.label.Top); // 设置label开始滚动的位置
this.label.Text = "新闻资讯:123456789"; // 设置滚动字幕内容,如内容需要变化,也可以设置变量,将变量赋值给label.Text,
this.label.AutoSize = true;
this.label.Visible = true;
this.label.Parent = this.panel;
this.panel.BackColor = Color.LightBlue; // 设置滚动条背景色
} private void ScrollDisplay()
{
if (PosX <= -this.label.Size.Width)
{
PosX = this.panel.Width + 3;
}
PosX = PosX - 3; // 位置偏差,可控制字幕移动的快慢
this.label.Location = new Point(PosX, this.label.Top);
} private void timer1_Tick(object sender, EventArgs e)
{
ScrollDisplay();
}
}
}
效果图

C# 实现窗体底部滚动字幕的更多相关文章
- HTML滚动字幕代码参数详解及Js间隔滚动代码
html文字滚动代码 <marquee style="WIDTH: 388px; HEIGHT: 200px" scrollamount="2" dire ...
- UILabel滚动字幕的实现
经常需要在应用中显示一段很长的文字,比如天气或者广告等,这时候使用滚动字幕的方式比较方便. 参考文献: [1] YouXianMing, 使用UILabel实现滚动字幕移动效果, 博客园 [2] ht ...
- js原生 + jQuery实现页面滚动字幕
js原生/jQuery实现页面滚动字幕效果 17:45:49 在新闻列表或者文章列表信息等页面中很容易要求实现字幕滚动的效果,以下为简单的实现页面中滚动字幕的效果 1.jQuery实现页面滚动字幕效果 ...
- C#-循环滚动字幕,timer,从左至右,从右至左,暂停---ShinePans
Lable的Left属性是能够更改的,可是 Right属性不能够更改,所以我们能够利用 这个特点做自加 自减运算 using System; using System.Collections.Gene ...
- DS控件库 DSLed控件呈现滚动字幕效果
滚动字幕效果在DSled上可以使用偏移来实现,代码如下 运行效果
- 【Cocos2dx 3.3 Lua】滚动字幕
参考资料: http://blog.csdn.net/jackystudio/article/details/12991977 1.原理 通过调用update来更新位置达到 ...
- Flash和滚动字幕
flash 1.插入flash 1)<object> <embed src="路径"></embed> ...
- 使用UILabel实现滚动字幕移动效果
使用UILabel实现滚动字幕移动效果 这个链接中的代码也实现了这种效果 https://github.com/cbpowell/MarqueeLabel 最终效果如下: 原理如下: 1. 获取文本 ...
- c# 滚动字幕的实现
在c#中其实滚动屏幕的实现很简单,只需要用到Graphics.DrawString方法. Graphics.DrawString (String s, Font font, Brush brush, ...
- Qt之滚动字幕
简述 滚动字幕,也就是传说中的跑马灯效果. 简单地理解就是:每隔一段时间(一般几百毫秒效果较佳)显示的文字进行变化(即滚动效果). 简述 实现 效果 源码 实现 利用定时器QTimer,在固定的时间 ...
随机推荐
- LinkedList的线程安全解决办法
方法一:List<String> list = Collections.synchronizedList(new LinkedList<String>()); 方法二:将Lin ...
- vue页面添加锚点后 点击不改变URL
html: <a @click="changeHash('#row')"> {{ $t("msg.desc1") }} </a> j ...
- 基于AD9361的双收双发射频FMC子卡
FMC177-基于AD9361的双收双发射频FMC子卡 一.板卡介绍 FMC177射频模块分别包含两个接收通道与发射通道,其频率可覆盖达到70MHz~6GHz,AD9361芯片提供具有成本效益的实验平 ...
- k8s之 pod调度
案例:确保Pod分配到具有SSD硬盘的节点上 第一步:给节点添加标签 格式:kubectl label nodes <node-name> <label-key>=<la ...
- 了解ASP(三) -- Cookie, Session, Application
ASP一共内建了7个对象,有Session.Application.Cookie.Response.Request.Server,这些对象都可以直接使用. 1. 什么是 Cookie? 1. cook ...
- webpack5的基本用法
webpack的基本使用 webpack 本身功能有限: 开发模式: 仅能编译JS中的ES Module 语法 生产模式: 能编译ES Module 语法, 还能压缩JS代码 添加实例文件 npm i ...
- 蓝牙mesh组网实践(dataflash的占用与管理)
目录 蓝牙mesh协议中有不少数据需要存储dataflash,以记录网络中的数据.一些数据只需要配网时保存进dataflash,比如说本节点的网络地址.各类密钥等:另一些数据需要在运行中动态更新,比如 ...
- django的模版
django的模版 1模版语法 views.py 书写方式 def index(request): ''' 模版语法分: 变量: {{ }} 1. 深度查询 句点符 2. 过滤器 {{val|fil ...
- 集合(Collection)
前几天做数据结构题碰到了集合,当时并没有学,只是通过做题对此稍微有了了解.今天正好学到了,来做一下学习记录. 一.集合总体框架 由上图可知,集合的实现方式有两大类: (1)线性接口:该集合的顶层接口是 ...
- python利用signal自定义函数超时机制
利用signal模块,可以给函数设置一个超时时间(精确到秒),结合装饰器实现:超时时间内函数运行完成正常退出,超时时间内函数未运行完成则抛出Timeout异常. 1 # coding:utf8 2 i ...