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

作者:我心依旧 时间:2021-11-04 19:43:41 

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


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Imaging;
using System.IO;
using System.Xml.Linq;
namespace App
{
public partial class Form7 : Form
{
 private int Index { get; set; }
 private DataTable dataTable { get; set; }
 private System.Timers.Timer timer { get; set; }
 public Form7()
 {
  InitializeComponent();
  dataTable = new DataTable();
  dataTable.Columns.AddRange(new DataColumn[] {
   new DataColumn("Id",typeof(System.Int32)),
   new DataColumn("DisplayName",typeof(System.String)),
   new DataColumn("URL",typeof(System.String))
  });
  DataRow row = dataTable.NewRow();
  row["Id"] = 1;
  row["DisplayName"] = "百度百科欢迎你!";
  row["URL"] = "http://www.baidu.com";
  dataTable.Rows.Add(row);
  row = dataTable.NewRow();
  row["Id"] = 2;
  row["DisplayName"] = "刘XX明星已经现身搜狐网站,赶快去围观!";
  row["URL"] = "http://www.sohu.com";
  dataTable.Rows.Add(row);
  row = dataTable.NewRow();
  row["Id"] = 3;
  row["DisplayName"] = "新浪新闻出现重大新闻,点我快速查看!";
  row["URL"] = "http://www.sina.com.cn";
  dataTable.Rows.Add(row);
  row = dataTable.NewRow();
  row["Id"] = 4;
  row["DisplayName"] = "网易客户端出现新版本啦,赶快去体验把!";
  row["URL"] = "http://www.126.com";
  dataTable.Rows.Add(row);
  label1.Text = lblContent.Top.ToString();
  timer = new System.Timers.Timer(2000);
  timer.Elapsed += delegate
  {
   CharsMouse();
  };
  timer.Start();
  button1.Click += delegate
  {
   CharsMouse();
  };
  button2.Click += delegate
  {
   timer.Dispose();
  };
  lblContent.LinkClicked += delegate
  {
   label2.Text = dataTable.Rows[Index]["URL"].ToString();
  };
 }
 void CharsMouse()
 {
  this.lblContent.Invoke(new MethodInvoker(delegate
  {
   if (Index >= dataTable.Rows.Count)
    Index = 0;
   while (lblContent.Top > -lblContent.Height)
   {
    lblContent.Top = lblContent.Top - 2;
    label1.Text = "1.Top=" + lblContent.Top.ToString();
    System.Threading.Thread.Sleep(100);
    Application.DoEvents();
   }
   lblContent.Text = dataTable.Rows[Index]["DisplayName"].ToString();
   lblContent.Top = 2;
   timer.Enabled = false;
   Application.DoEvents();
   System.Threading.Thread.Sleep(2000);
   timer.Enabled = true;
   Index++;
  }));
 }
}
}

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

标签:WinForm,播放器,滚动
0
投稿

猜你喜欢

  • 谈谈Hashmap的容量为什么是2的幂次问题

    2022-12-27 18:42:35
  • Java实现字符串匹配的示例代码

    2023-04-17 05:24:35
  • C#中使用强制类型实现字符串和ASCII码之间的转换

    2022-05-15 14:57:48
  • SWT(JFace) 文本编辑器 实现代码

    2023-01-27 22:39:37
  • 关于@GetMapping和@GetMapping(value=““)的区别

    2023-11-27 11:07:37
  • Java NIO实现多人聊天室

    2022-04-05 09:03:17
  • java基础的详细了解第七天

    2023-02-01 12:06:26
  • Java利用过滤器实现完善登录功能

    2021-07-20 15:07:05
  • SpringCache框架加载/拦截原理详解

    2023-04-11 10:31:46
  • 详解MyBatis逆向工程

    2021-12-12 02:38:04
  • java中JSONObject转换为HashMap(方法+main方法调用实例)

    2023-08-10 04:04:08
  • Java数据封装树形结构代码实例

    2022-04-12 08:11:44
  • Java实现动态获取图片验证码的示例代码

    2023-07-24 22:32:05
  • MyBatis使用动态表或列代码解析

    2023-06-13 07:57:40
  • 如何在IDE部署springboot项目(有swagger和无swagger都是一样的)到服务器或者虚拟机上的docker

    2023-09-01 00:33:25
  • 使用C++ Matlab中的lp2lp函数教程详解

    2023-07-13 17:13:12
  • linux下C语言中的mkdir函数与rmdir函数

    2023-07-07 14:16:16
  • Java中的InputStreamReader和OutputStreamWriter源码分析_动力节点Java学院整理

    2022-10-13 10:46:53
  • Java Object定义三个点实现代码

    2023-11-21 06:05:07
  • Android中用Bmob实现短信验证码功能的方法详解

    2022-06-08 22:00:25
  • asp之家 软件编程 m.aspxhome.com