网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > C# > 正文
用C#制作字幕显示屏幕保护
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/14
下载{$ArticleTitle}原创论文样式

作者: 马金虎

  本文介绍使用C#制作屏幕保护的方法,这个屏幕保护就是仿效视窗系统自带的字幕屏保。
   
    屏幕保护程序的扩展名虽然是"scr",但其实是一个可执行的"exe"文件。但他又是一个比较独特的"exe"文件。下面就来探讨一下,用C#是如何编写屏幕保护的整个过程。
   
    一.本文中介绍的程序设计及运行环境
   
     (1).微软视窗2000 服务器版
   
     (2)..Net Framework SDK 正式版
   
    二.C#编写字幕显示屏保程序的关键步骤以及解决方法:
   
    (1).设定程序的窗体符合屏幕保护的要求:
   
    由于屏幕保护程序就是一个可执行程序,所以在编写屏幕保护程序的时候,首先按照可执行程序来设计。但屏幕保护有自身的特点。譬如:屏幕保护都是充满整个屏幕的,并且没有无边。屏幕保护运行的时候,不能显示任务栏。在程序设计中实现这些特点,关键就在于对窗体的某些属性的设定上。下面是对窗体属性的设定,就可以满足屏幕保护的要求,具体如下:
   
  this.Name = "ScreenSaver" ;
  //窗体运行后无边界
  this.FormBorderStyle = FormBorderStyle.None ;
  //程序运行后不显示在任务栏上
  this.ShowInTaskbar = false ;
  //窗体运行后,最大化,充满整个屏幕
   
    (2).使得字符在屏幕上不断移动:
   
    实现字符在屏幕上像字符屏保一样不断移动,是通过一个定时器来完成的。不断移动的字符,其实就是一个Label组件。当设定好Label组件要显示的字符后,也就设定了在屏幕上要移动的字符。定时器每隔一段时间,都把Label组件的横坐标减去一个定值,这样在定时器的驱动下,Label组件的位置就变换了,带来的视觉效果,就是字符不断移动。
   
    当Label组件的位置已经移动到屏幕的外面以后,这是就有把Label组件的横坐标回复到起始值(即:屏幕的最右边),然后判断Label组件的纵坐标是否位于屏幕的顶部,如果在顶部,则把纵坐标的位置重置在中部;如果在中部,则重置在底部;如果在底部,则重置在顶部。经过了这些判断,字符不仅可以实现从右往左移动,还可以变换字符进入屏幕的位置。从而也丰富了屏幕保护的内容。其实要实现这些判断,首先还必须知道屏幕的工作区域,因为只有先知道屏幕的工作区域,在能够实现对Label组件的横坐标和纵坐标的设定工作。下面就是实现此步骤地具体代码:
   
  //得到计算机屏幕的工作区域
  Rectangle ssWorkArea = Screen.GetWorkingArea ( this ) ;
  lblMarquee.Location = new Point ( ssWorkArea.Width - iDistance ,
  lblMarquee.Location.Y ) ;
  //显示标签
  lblMarquee.Visible = true ;
  // 增加2个象素点,你可以通过修改speed的值来改变标签的移动速度
  iDistance += speed ;
  // 如果标签已经走出屏幕,则把标签的位置重定位到屏幕的右边
  if ( lblMarquee.Location.X <= -( lblMarquee.Width ) )
  {
  //Reset the distance to 0.
  iDistance = 0 ;
  //判断标签的位置是否在顶部,如果在,则重定位到中部
  if ( lblMarquee.Location.Y == 0)
  lblMarquee.Location =
  • 下一篇资讯: C#中SQL语句中实用参数
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号