700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > C# 实现窗体底部滚动字幕

C# 实现窗体底部滚动字幕

时间:2021-05-12 01:35:06

相关推荐

C# 实现窗体底部滚动字幕

使用的控件

panel和label及其定时器。

实现原理

通过定时器定时将label的位置在panel上进行移动,实现滚动的视觉效果,此处将label放在panel上的好处是可以单独设置滚动字母的背景色,且滚动字幕的整体显示区域可有panel控制。

控件布置

在需要显示滚动字幕的位置放置一个panel并设置其大小和位置,在同样的位置上放置label,并在父窗体为panel的情况下将label的位置设置为(0,0),也可以在代码中设置,拖动定时器到窗体上。

源代码:

using System;using System.Collections.Generic;using ponentModel;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();}}}

效果图

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。