您的位置:首页 > 编程语言 > C#

C# 模仿QQ、MSN消息提示系列 二、基本效果模仿包含代码

2008-07-29 23:02 691 查看
C# 模仿QQ、MSN消息提示系列 一、基本原理

C# 模仿QQ、MSN消息提示系列 二、基本效果模仿包含代码

C# 模仿QQ、MSN消息提示系列 三、实现多个提示效果

C# 模仿QQ、MSN消息提示系列 四、bug修改 效果优化

C# 模仿QQ、MSN消息提示系列 五、改进 只使用两个时间控件
一、实现功能

程序开始运行屏幕右下角弹出提示框、等待、移出

当提示框移动到最高点时,鼠标悬停时等待

二、编写代码前需要确定的内容

1、确定窗口滚动的起始位置

2、确定窗口滚动的终止位置

3、确定窗口当前的滚动状态

4、确定窗口距离屏幕右边的距离单位像素

5、确定等待时间

6、确定鼠标是否悬停

三、编写代码

1、创建一个Form窗体

为了效果好看些我把Form的 FormBorderStyle属性设置为None

并且把一个美女图片作为Form背景

如图

public enum FormMoveState

Code

private void MoveForm_MouseEnter(object sender, EventArgs e)

{

this.mouseEnter = true;

}

private void MoveForm_MouseLeave(object sender, EventArgs e)

{

this.mouseEnter = false;

}

3、初始化

初始化窗口大小

为使窗口更加美观设置窗口的大小和背景大小一样

设置开始位置

开始位置X坐标=工作区域宽度-窗口宽度-窗口距离屏幕右边的距离

开始位置Y坐标=工作区域高度

设置结束位置

结束位置X坐标=开始位置X坐标(因为提示窗口只是上下移动所以横坐标是一致的)

结束位置Y坐标=工作区域高度-窗口高度

设置窗口的初始位置为开始位置

设置开始时间控件的为可用

4、具体实现逻辑

开始时间控件负责在每次执行时把窗体的纵坐标-1

结束时间控件负责在每次执行时把窗体的纵坐标+1

等待时间空间每次执行时更新等待次数

鼠标检测控件负责判断鼠标当前的状态

如果鼠标在窗口上并且窗口的状态为等待状态

则等待时间控件失效(也就是继续等待)

否则等待时间控件有效

具体请看代码 WindowsMoveDemo.rar

初次写教程类文章,还请大家多多指教。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: