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,在固定的时间 ...
随机推荐
- DEPRECATION WARNING: Using / for division is deprecated and will be removed in Dart Sass 2.0.0
DEPRECATION WARNING: Using / for division is deprecated and will be removed in Dart Sass 2.0.0. 问题解决 ...
- consul剔除某个服务
curl --request PUT http://ip:端口/v1/agent/service/deregister/服务对应的id地址
- Java密码加密的两种保存方式
密码加密的两种方式(md5和base64) 常见的加密方式有盐值,md5和jdk自带的base64,这里我记录的是base64如何使用,以及破解的方式,话不多说,直接贴代码! 其实md5和加盐值都差不 ...
- 组建LAN
推荐 cisco packet tracer 软件,可以画拓扑图,组件局域网等. ---------------------------------- 物联网:世界上很多物体的连接.物联网与现有的互联 ...
- hutool调用第三方接口上传文件和下载文件
1.上传文件接口例子(本地接口) 2.第三方接口 3.调用第三方接口下载文件 4.第三方接口 5.多个文件生成压缩文件
- Pytorch实战学习(七):高级CNN
<PyTorch深度学习实践>完结合集_哔哩哔哩_bilibili Advanced CNN 一.GoogLeNet Inception Module:而为了减少代码的冗余,将由(卷积(C ...
- moduleNotFoundError:No module named 'exceptions'
如果pip install docx 过请先卸载,输入如下指令: pip uninstall docx 方法一: pip install python-docx 方法二: 下载: python_doc ...
- java心形打印999
心形打印999 农历七月初七,七夕节也就是中国民间版的所谓情人节,利用java打印心型999个图案可以让程序员更浪漫一些.现在下面由小编简要的说一下如何做到.首先下面是打印心形但却不是999个的代码, ...
- 虚拟机redis无法连接
1.cp redis.conf /etc/ 2.vi /etc/redis.conf 3.设置 Redis 可以后台运行 daemonize yes 4.关闭 redis 保护模式,使得可以远程连接 ...
- js单线程工作
http://www.ruanyifeng.com/blog/2014/10/event-loop.html#comment-390185