首页 > 编程 > C# > 正文

WinForm实现仿视频播放器左下角滚动新闻效果的方法

2019-10-29 21:39:12
字体:
来源:转载
供稿:网友

这篇文章主要介绍了WinForm实现仿视频播放器左下角滚动新闻效果的方法,涉及WinForm窗口滚动字幕设置的实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了WinForm实现仿视频播放器左下角滚动新闻效果的方法。分享给大家供大家参考。具体实现方法如下:

 

 
  1. using System; 
  2. using System.Collections.Generic; 
  3. using System.ComponentModel; 
  4. using System.Data; 
  5. using System.Drawing; 
  6. using System.Linq; 
  7. using System.Text; 
  8. using System.Windows.Forms; 
  9. using System.Drawing.Imaging; 
  10. using System.IO; 
  11. using System.Xml.Linq; 
  12. namespace App 
  13. public partial class Form7 : Form 
  14. private int Index { get; set; } 
  15. private DataTable dataTable { get; set; } 
  16. private System.Timers.Timer timer { get; set; } 
  17. public Form7() 
  18. InitializeComponent(); 
  19. dataTable = new DataTable(); 
  20. dataTable.Columns.AddRange(new DataColumn[] {  
  21. new DataColumn("Id",typeof(System.Int32)), 
  22. new DataColumn("DisplayName",typeof(System.String)), 
  23. new DataColumn("URL",typeof(System.String)) 
  24. }); 
  25. DataRow row = dataTable.NewRow(); 
  26. row["Id"] = 1; 
  27. row["DisplayName"] = "百度百科欢迎你!"
  28. row["URL"] = "http://www.baidu.com"
  29. dataTable.Rows.Add(row); 
  30. row = dataTable.NewRow(); 
  31. row["Id"] = 2; 
  32. row["DisplayName"] = "刘XX明星已经现身搜狐网站,赶快去围观!"
  33. row["URL"] = "http://www.sohu.com"
  34. dataTable.Rows.Add(row); 
  35. row = dataTable.NewRow(); 
  36. row["Id"] = 3; 
  37. row["DisplayName"] = "新浪新闻出现重大新闻,点我快速查看!"
  38. row["URL"] = "http://www.sina.com.cn"
  39. dataTable.Rows.Add(row); 
  40. row = dataTable.NewRow(); 
  41. row["Id"] = 4; 
  42. row["DisplayName"] = "网易客户端出现新版本啦,赶快去体验把!"
  43. row["URL"] = "http://www.126.com"
  44. dataTable.Rows.Add(row); 
  45. label1.Text = lblContent.Top.ToString(); 
  46. timer = new System.Timers.Timer(2000); 
  47. timer.Elapsed += delegate 
  48. CharsMouse(); 
  49. }; 
  50. timer.Start(); 
  51. button1.Click += delegate 
  52. CharsMouse(); 
  53. }; 
  54. button2.Click += delegate 
  55. timer.Dispose(); 
  56. }; 
  57. lblContent.LinkClicked += delegate 
  58. label2.Text = dataTable.Rows[Index]["URL"].ToString(); 
  59. }; 
  60. void CharsMouse() 
  61. this.lblContent.Invoke(new MethodInvoker(delegate 
  62. if (Index >= dataTable.Rows.Count) 
  63. Index = 0; 
  64. while (lblContent.Top > -lblContent.Height) 
  65. lblContent.Top = lblContent.Top - 2; 
  66. label1.Text = "1.Top=" + lblContent.Top.ToString(); 
  67. System.Threading.Thread.Sleep(100); 
  68. Application.DoEvents(); 
  69. lblContent.Text = dataTable.Rows[Index]["DisplayName"].ToString(); 
  70. lblContent.Top = 2; 
  71. timer.Enabled = false
  72. Application.DoEvents(); 
  73. System.Threading.Thread.Sleep(2000); 
  74. timer.Enabled = true
  75. Index++; 
  76. })); 

希望本文所述对大家的C#程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表