zoukankan      html  css  js  c++  java
  • C# 跑马灯效果



    using
    System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; using Timer = System.Timers.Timer; namespace WindowsFormsApp1.Frm { /// <summary> /// 跑马灯 /// </summary> public partial class RunHorse : Form { private static Timer timer = new Timer(); public RunHourse() { InitializeComponent(); timer.Interval = 50; } private void RunHorse_Load(object sender, EventArgs e) { timer.Elapsed += Timer_Elapsed; //初始化lbl位置 { var pWidth = this.panel1.Width; this.label1.Left = pWidth; this.label2.Left = pWidth; } //初始化lbl位置 { var pWidth = this.panel2.Width; this.label3.Left = pWidth; this.label4.Left = pWidth; } timer.Start(); } private void Timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { try { timer.Stop(); //循环跑 this.panel1.InvokeOnUiThreadIfRequired(() => { var pWidth = this.panel1.Width; ; //lbl2准备好了,且lbl1还没跑完 if (this.label2.Left == this.panel1.Width && this.label1.Right > 0) this.label1.Left -= 10; else this.label1.Left = pWidth; //lbl1准备好了,且lbl2还没跑完 if (this.label1.Left == this.panel1.Width && this.label2.Right > 0) this.label2.Left -= 10; else this.label2.Left = pWidth; }); //即将结束时开始下一个 this.panel2.InvokeOnUiThreadIfRequired(() => { var pWidth = this.panel2.Width; if (this.label3.Right < 0) this.label3.Left = pWidth; if (this.label4.Right < 0) this.label4.Left = pWidth; //lbl1即将消失,且 lbl2准备好了 if (this.label3.Right < 80 && this.label4.Right > 0) { this.label3.Left -= 10; this.label4.Left -= 10; } //lbl2即将消失,且 lbl1准备好了 if (this.label4.Right < 80 && this.label3.Right > 0) { this.label3.Left -= 10; this.label4.Left -= 10; } //lbl2准备好了,且lbl1还没跑完 if (this.label4.Left == pWidth && this.label3.Right > 0) this.label3.Left -= 10; //lbl1准备好了,且lbl2还没跑完 if (this.label3.Left == pWidth && this.label4.Right > 0) this.label4.Left -= 10; }); } catch (Exception ex) { Console.WriteLine(ex + ""); } finally { timer.Start(); } } private void button1_Click(object sender, EventArgs e) { this.label1.Text = "0123456789"; } private void button2_Click(object sender, EventArgs e) { this.label2.Text = "ABCDEFGHIJK"; } } }
  • 相关阅读:
    行行网电子书多线程爬取
    51CTO学院IT技术课程抓取
    chromeF12 谷歌开发者工具详解 Network篇
    pyspider无法启动webui
    Python告诉你今天最冷的地方在哪里
    matplotlib画图中文及负号显示问题
    数据分析案例
    seaborn.barplot用法
    Python大数据分析之数据分析
    python中yield的用法详解
  • 原文地址:https://www.cnblogs.com/huawublog/p/12639447.html
Copyright © 2011-2022 走看看