Lable的Left屬性是可以更改的,但是 Right屬性不可以更改,所以我們可以利用 這個特點做自加 自減運算
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 滾動字幕 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void timer1_Tick(object sender, EventArgs e) { this.label2.Left += 8; //向右移動3個像素 if(this.label2.Left>this.Width) { this.label2.Left = 0-label2.Width; //標簽左位置為當前控件寬度 } } private void button1_Click(object sender, EventArgs e) { this.timer2.Stop(); this.timer1.Start(); //打開計時器 } private void button2_Click(object sender, EventArgs e) { this.timer1.Stop(); //停止計時器 this.timer2.Stop(); } private void button3_Click(object sender, EventArgs e) { this.timer1.Stop(); this.timer2.Start(); } private void timer2_Tick(object sender, EventArgs e) { this.label2.Left -= 8; //向右移動3個像素 if (this.label2.Right <0) { this.label2.Left = this.Width; //標簽左位置為當前控件寬度 } } } }
效果: