下面就介绍一下如何利用C#制作屏幕保护。
打开Visual Studio.net,建立一个windows项目。这次的屏保是模仿Windows 7自带的一个屏幕保护。

把窗口的属性设置一下:
1.首先把 WindowState 设置为 FormWindowState.Maximized 这样窗口就可以在打开之后呈现最大化的状态。
2.把TopMost 设置为true,这样使得窗口处于最顶层,就是所谓的“永远在前”,相信用过千千静听,金山词霸等软件的朋友应该熟悉。
3.把FormBorderStyle 设置为FormBorderStyle.None ,这样窗口就没有边框,即没有了标题栏,周围的一圈边框。也就省去了一个个去掉MaximizeBox ,MinimizeBox了。
4.把BackColor设置为Color.Black, 这样窗口背景色就变成黑色了
5.ShowInTaskBar 设置为false,(这个步骤可以省去,本身最大化就看不到任务栏了)
其他的属性修改都是多余了,当然把name等等类似改改也行,总之,上面5个(严格的说4个)弄好了,UI方面就设计完毕了。

也可以在form_load中添加如下代码:

WindowState = FormWindowState.Maximized; this.TopMost = true; this.FormBorderStyle = FormBorderStyle.None; this.BackColor = Color.Black; this.ShowInTaskbar = false;
下面拖动一个timer控件进来,将其Enabled属性设置为true,Interval设置为10000(因为以milliseconds为单位,所以这里设置为10,000,也就是10s)。
加timer控件是为了每隔一定的事件触发一个事件。因此给timer加一个事件,点击Solution Explorer 上面的闪电图标,添加唯一的一个Tick事件。
下面就开始设计算法了,其实也是再简单不过了,随机产生一个点,然后再该处绘制预先准备好的图片。(如果为了好看点,可以设置坐标之间的关系)

private readonly int screenWidth; private readonly int screenHeight; private Bitmap bitmap; private Random random = new Random(); private int x = 0; private int y = 0; Rectangle rect = Screen.PrimaryScreen.Bounds;

增加若干成员变量, 挺有self-documenting的味道,我就不过多解释了,前两个是标志屏幕的宽度和高度,
然后是一个位图对象,存储预先准备的图片,这里是一张bitmap。random是一个随即类对象,用来产生随机点的。再下面分别是产生的随机点的x,y坐标。
构造函数内添加

//获取屏幕的宽度,高度 screenWidth = rect.Width; screenHeight = rect.Height; string currPath = System.Environment.CurrentDirectory + "//Win7.bmp"; bitmap = new Bitmap(currPath, true); 

第一句话是用来获得整个显示器的边界范围。然后分别把宽度和高度赋值给成员变量。
注:Screen类提供了一些与显示器相关的属性,感兴趣的朋友可以参阅MSDN
下面填补Tick事件

private void timer1_Tick(object sender, EventArgs e) { x = random.Next(screenWidth); y = random.Next(screenHeight); if (x + bitmap.Width > screenWidth) { x = screenWidth - bitmap.Width; } if (y + bitmap.Height > screenHeight) { y = screenHeight - bitmap.Height; } this.Invalidate(); }

上面是获取一个x,y坐标分别不大于显示器的宽度和高度的点。为了美观一点,判断图片是否超过屏幕边界,对x,y进行了一些处理, 不是很难,相信大家都能看懂。最后刷新屏幕,调用paint事件。

public void ScreenProtect_Paint(object sender,PaintEventArgs e) { e.Graphics.DrawImage(bitmap, x, y, bitmap.Width, bitmap.Height); }  

C#制作简易屏幕保护相关推荐

  1. winform制作简易屏幕保护工具

    效果如下: 具体实现代码如下: using System; using System.Collections.Generic; using System.ComponentModel; using S ...

  2. MFC中简易屏幕保护程序的实现

    1.新建一个对话框的MFC工程: 2.将对话框的Border属性设置为None:这是为了对话框程序的可全屏显示,实现屏幕保护程序: 3.头文件添加类成员变量声明和函数声明:    CPoint cur ...

  3. c#制作一个屏幕保护程序

    代码已上传github 实现思路:纯黑窗体去边框,加入标签. 使用Timmer让windows 10标签运动.限制标签的行为. 代码: int deltX = 10;        int deltY ...

  4. Aerial for Mac(mac高清鸟瞰屏幕保护程序)v2.1.3最新版

    在寻找mac屏保软件吗?MacW小编为您首推Aerial 下载,这是一款专为mac用户制作的屏幕保护程序,该屏保视频取材自苹果零售店Apple TV的专用屏保,全部由苹果自制的航拍影片,里面的每一个航 ...

  5. 屏幕保护程序Aerial 安装教程

    aerial mac版是一个专为mac用户制作的屏幕保护程序,正如名字所说,该屏保视频取材自苹果零售店Apple TV的专用屏保,全部由苹果亲自制作的航拍影片,里面的每一个航拍都是不可多得的精美作品! ...

  6. mac最美的鸟瞰屏幕保护APP:Aerial for Mac(最新)

    aerial mac汉化版是一个专为mac用户制作的屏幕保护程序,正如名字所说,该屏保视频取材自苹果零售店Apple TV的专用屏保,全部由苹果自制作的航拍影片,里面的每一个航拍都是不可多得的精美作品 ...

  7. Mac动态屏保哪里下载?推荐超火的屏幕保护软件Aerial 2.1.5汉化版

    aerial mac汉化版是一个专为mac用户制作的屏幕保护程序,正如名字所说,该屏保视频取材自苹果零售店Apple TV的专用屏保,全部由苹果自制作的航拍影片,里面的每一个航拍都是不可多得的精美作品 ...

  8. 学习屏幕保护制作方法

    屏幕保护共享程序制作轻松上手 http://hi.baidu.com/kgdiyj/blog/item/ef95631f5fab02caa6866924.html 挑战视觉极限 屏幕保护制作软件横评 ...

  9. C#制作简易屏保(转)

    C#制作简易屏保[原创] 原始网址: http://www.cnblogs.com/drizzlecrj/archive/2006/10/06/522182.html 2006-10-06 16:25 ...

  10. w7计算机屏幕保护设置方法,W7屏保怎么设置

    w7屏保怎么设置?w7电脑系统中的屏幕保护程序一般是从桌面右键进入的,但很多用户使用的是w7家庭版电脑系统,右键没有个性化设置,这种情况只能从控制面板中进入,至于如何设置屏幕保护,相信用户进入之后就懂 ...

最新文章

  1. 静态网页制作html语言入门
  2. 怎样用jQuery拿到select中被选中的option的值
  3. oracle11g系统初始化意义,Oracle11G 初始化脚本
  4. 高斯曲率求表面极值点
  5. cscript 执行代码_WSCRIPT与CScript区别
  6. leetcode刷题:火柴拼正方形
  7. JavaScript的输出(2)
  8. Ubuntu 更改文件夹权限
  9. 今年的移动Pwn2own破解大赛:iPhone+安卓=50万美元
  10. 机器学习基石 作业0
  11. android高德地图热力图,热力图-自有数据图层-示例中心-JS API 示例 | 高德地图API...
  12. vue模板解析——源码演示
  13. JWT原理 对比 appid secretkey 鉴权
  14. nrm安装成功后但是不能使用
  15. C#操作Excel总结(最全面的操作EXCEL技巧汇总)
  16. 【解决git报错 10054】OpenSSL SSL_read: Connection was reset, errno 10054
  17. 用C语言判断五子棋,c语言 五子棋危险判断 求大神解释啊
  18. SAP BI与PowerBI之使用小谈
  19. 将时谐电磁场引入工程电磁场的意义_工程电磁场教案-国家精品课华北电力学院崔翔-第4章(倪光正主编教材)...
  20. Kinect openni 驱动

热门文章

  1. 华为服务器设备型号查询,查看服务器机器型号
  2. iOS APP测试方法和测试工具 大揭秘
  3. 微信小程序图片缓存问题
  4. android 使用画布实现电子签名板功能并保存到本地
  5. 快手用户群体分析_抖音、快手竞品分析报告
  6. 2022年3月23日蜻蜓q旗舰版v1.2.1重大性能更新-优化加载列表数据方式-更加丝滑-后端增加goeasy
  7. 【AI视野·今日CV 计算机视觉论文速览 第224期】Tue, 22 Jun 2021
  8. cass等距离等分线段的命令键_南方cass快捷命令
  9. 代挂管家易开源7.4+web版
  10. php网页顶端有乱码,四个常见html网页乱码问题及解决办法