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

 更新时间:2013年06月08日 15:06:38   作者:  
本篇文章是对桌面浮动窗口的实现方法进行了详细的分析介绍,需要的朋友参考下
突然想起来flash有碰撞反弹飘动as控制的效果,所以想起来用c#也来做一个桌面飘动碰撞反弹无标题栏窗体。有点像中了恶意病毒广告效果。
主要代码如下(使用了一timer控件和一Button(为了我自己控制),窗体的BorderStyle设置为None):
复制代码 代码如下:

        int ScreenWidth = SystemInformation.PrimaryMonitorMaximizedWindowSize.Width;
        int ScreenHeight = SystemInformation.PrimaryMonitorMaximizedWindowSize.Height;
        private int speedX = 4;
        private int speedY = 3;
        private bool canMove = true;
        int myswitch = 1;//为了我可以控制停止所以添加的飘与停的切换开关
        private void timer1_Tick(object sender, EventArgs e)
        {
            if (canMove)
            {
                this.DesktopLocation = new Point(this.DesktopLocation.X + speedX, this.DesktopLocation.Y + speedY);
                if (this.DesktopLocation.X + this.Width >= ScreenWidth || this.DesktopLocation.X < 0)
                {
                    speedX = -speedX;
                }
                if (this.DesktopLocation.Y + this.Height >= ScreenHeight || this.DesktopLocation.Y < 0)
                {
                    speedY = -speedY;
                }
            }
        }
        private void button1_Click(object sender, EventArgs e)
        {
            myswitch *= -1;
            if (myswitch == -1)
            {
                canMove = false;
                //button1.Text = "飘动";
            }
            else
            {
                canMove = true;
                //button1.Text = "停止";
            }
        }
        private void Form1_Load(object sender, EventArgs e)
        {
        }
        private void Form1_DoubleClick(object sender, EventArgs e)
        {
            Application.Exit();
        }

暂写这么多,有时间把它再增强下更像恶意广告。~

相关文章

  • C#实现Word和ODT文档相互转换详解

    C#实现Word和ODT文档相互转换详解

    ODT文档格式一种开放文档格式(OpenDocument Text)。本文以C#及VB.NET代码展示ODT和Word文档之间相互转换的方法,感兴趣的可以学习一下
    2022-05-05
  • C#中Json字符串的各种应用类实例讲解

    C#中Json字符串的各种应用类实例讲解

    这篇文章主要介绍了C#中Json字符串的各种应用类实例讲解的相关资料,需要的朋友可以参考下
    2015-10-10
  • C#判断日期是否到期的方法

    C#判断日期是否到期的方法

    这篇文章主要介绍了C#判断日期是否到期的方法,是C#程序设计中非常实用的技巧,需要的朋友可以参考下
    2014-08-08
  • winform获取当前名称实例汇总

    winform获取当前名称实例汇总

    这篇文章主要介绍了winform获取当前名称实例汇总,包括常见的目录名、文件名、路径等,非常实用,需要的朋友可以参考下
    2014-10-10
  • C#中常见的数据缓存方式汇总

    C#中常见的数据缓存方式汇总

    在C#开发中,数据缓存是一种优化应用程序性能的常见技术,合理的缓存策略可以减少对数据源的访问次数,提高数据处理速度,从而改善用户体验,下面将详细介绍几种在C#中常见的数据缓存方式,以及相应的实例,需要的朋友可以参考下
    2024-05-05
  • c# 解决IIS写Excel的权限问题

    c# 解决IIS写Excel的权限问题

    使用以上方法必须对dcom进行配置,给用户使用office的权限
    2012-10-10
  • C#创建控制Windows服务

    C#创建控制Windows服务

    这篇文章介绍了C#创建和控制Windows服务的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02
  • C#中事件只能在内部调用的原因分析

    C#中事件只能在内部调用的原因分析

    事件(Event) 基本上说是一个用户操作,如按键、点击、鼠标移动等等,或者是一些提示信息,如系统生成的通知。应用程序需要在事件发生时响应事件,这篇文章主要介绍了C#中事件为什么只能在内部调用,需要的朋友可以参考下
    2021-11-11
  • C#对象为Null模式(Null Object Pattern)实例教程

    C#对象为Null模式(Null Object Pattern)实例教程

    这篇文章主要介绍了C#对象为Null模式(Null Object Pattern),以一个简单实例深入分析了C#为Null情况下的处理方法,需要的朋友可以参考下
    2014-09-09
  • C#使用DllImport调用非托管的代码的方法

    C#使用DllImport调用非托管的代码的方法

    C#调用非托管代码的方式主要有Com调用、DllImport方式调用、加载非托管动态链接库、直接执行机器码等方式。现在介绍一下我自己常用的DllImport方式调用MSDN中提到的GetShortPathName方法;
    2013-03-03

最新评论