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

 更新时间:2015年08月22日 16:31:39   作者:我心依旧  
这篇文章主要介绍了WinForm实现仿视频播放器左下角滚动新闻效果的方法,涉及WinForm窗口滚动字幕设置的实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了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#程序设计有所帮助。

相关文章

  • C#中event内存泄漏总结

    C#中event内存泄漏总结

    本篇文章给大家分享了在C#中event内存泄漏的相关知识点以及代码分享,有兴趣的朋友参考学习下。
    2018-03-03
  • 桌面浮动窗口(类似恶意广告)的实现详解

    桌面浮动窗口(类似恶意广告)的实现详解

    本篇文章是对桌面浮动窗口的实现方法进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • C# Dynamic关键字之:解析dynamic就是Object

    C# Dynamic关键字之:解析dynamic就是Object

    本篇文章是对C#中dynamic关键字就是Object进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C# 实现窗口无边框,可拖动效果

    C# 实现窗口无边框,可拖动效果

    这篇文章主要介绍了C# 实现窗口无边框,可拖动效果,本文通过实例代码给大家介绍的非常详细,需要的朋友参考下吧
    2018-03-03
  • WCF实现进程间管道通信Demo分享

    WCF实现进程间管道通信Demo分享

    下面小编就为大家分享一篇WCF实现进程间管道通信Demo,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-12-12
  • C#中Json反序列化的实现方法

    C#中Json反序列化的实现方法

    这篇文章主要给大家介绍了关于C#中Json反序列化的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧
    2018-06-06
  • 验证本机的excel版本的C#代码

    验证本机的excel版本的C#代码

    安装的excel的版本,0为没有安装,大于1说明安装了多个. 需要的朋友可以参考下。
    2011-08-08
  • 详解C# partial 关键字的使用

    详解C# partial 关键字的使用

    局部类型允许我们将一个类、结构或接口分成几个部分,分别实现在几个不同的.cs文件中。接下来通过本文给大家分享C# partial 关键字的使用,感兴趣的的朋友一起看看吧
    2017-08-08
  • 利用C#实现批量图片格式转换功能

    利用C#实现批量图片格式转换功能

    这篇文章主要为大家详细介绍了如何利用C#实现批量图片格式转换功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2022-12-12
  • C#异步迭代IAsyncEnumerable应用实现

    C#异步迭代IAsyncEnumerable应用实现

    IAsyncEnumerable可以来实现异步迭代,本文就主要介绍了C#异步迭代IAsyncEnumerable应用实现,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06

最新评论