2015-07-11 15:24:04
1 using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms; namespace 窗口停靠
{
public partial class Form1 : Form
{
string location = null;
int y;
int x;
public Form1()
{
InitializeComponent();
} /// <summary> /// 当窗体的位置改变时发生 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Form1_LocationChanged(object sender, EventArgs e)
{
y = this.Location.Y;
x = this.Location.X;
if (this.Top <= )
{ location = "top"; } else if (this.Left <= )
{ location = "left"; } else if (this.Right >= Screen.PrimaryScreen.Bounds.Width)
{ location = "right"; }
else
{
location = "center";
} }
private void timer2_Tick(object sender, EventArgs e)
{ //如果鼠标在窗体上,则根据停靠位置显示整个窗体 if (this.Bounds.Contains(Cursor.Position))
{ switch (location)
{ case "top":
if(this.Location.Y<)
{
y += ;
if(y>)
{
y = ;
}
this.Location = new Point(this.Location.X, y);
}
break; case "left": if(this.Location.X<)
{
x += ;
if(x>)
{
x = ;
}
this.Location = new Point(x, this.Location.Y);
}
break; case "right":
if (this.Location.X > Screen.PrimaryScreen.Bounds.Width - this.Width)
{
x -= ;
if (x < Screen.PrimaryScreen.Bounds.Width - this.Width)
{
x = Screen.PrimaryScreen.Bounds.Width - this.Width;
}
this.Location = new Point(x, this.Location.Y);
}
break; } } else //如果鼠标离开窗体,则根据停靠位置隐藏窗体,但须留出部分窗体边缘以便鼠标选中窗体
{ switch (location)
{ case "top": y = y - ;
if(y>-this.Height+)
{
this.Location = new Point(this.Location.X, y); }
else
{
this.Location = new Point(this.Location.X, -this.Height + );
}
break; case "left":
x -= ;
if(x>-this.Width+)
{
this.Location = new Point(x, this.Location.Y); }
else
{
this.Location = new Point(-this.Width + , this.Location.Y);
}
break; case "right": if(x<Screen.PrimaryScreen.Bounds.Width- )
{
x += ;
this.Location = new Point(x, this.Location.Y); }
else
{
this.Location = new Point(Screen.PrimaryScreen.Bounds.Width + - , this.Location.Y);
}
break;
} } }
} }

改个分类也改不了,不能发布至首页发布候选区,我不想发布啊,可是取消不了,还提示没有超过150字!!!,这只是为了凑个字数!!!!!! 改个分类也改不了,不能发布至首页发布候选区,我不想发布啊,可是取消不了,还提示没有超过150字!!!,这只是为了凑个字数!!!!!! 改个分类也改不了,不能发布至首页发布候选区,我不想发布啊,可是取消不了,还提示没有超过150字!!!,这只是为了凑个字数!!!!!! 改个分类也改不了,不能发布至首页发布候选区,我不想发布啊,可是取消不了,还提示没有超过150字!!!,这只是为了凑个字数!!!!!! 改个分类也改不了,不能发布至首页发布候选区,我不想发布啊,可是取消不了,还提示没有超过150字!!!,这只是为了凑个字数!!!!!! 改个分类也改不了,不能发布至首页发布候选区,我不想发布啊,可是取消不了,还提示没有超过150字!!!,这只是为了凑个字数!!!!!! 改个分类也改不了,不能发布至首页发布候选区,我不想发布啊,可是取消不了,还提示没有超过150字!!!,这只是为了凑个字数!!!!!! 改个分类也改不了,不能发布至首页发布候选区,我不想发布啊,可是取消不了,还提示没有超过150字!!!,这只是为了凑个字数!!!!!! 改个分类也改不了,不能发布至首页发布候选区,我不想发布啊,可是取消不了,还提示没有超过150字!!!,这只是为了凑个字数!!!!!! 改个分类也改不了,不能发布至首页发布候选区,我不想发布啊,可是取消不了,还提示没有超过150字!!!,这只是为了凑个字数!!!!!! 改个分类也改不了,不能发布至首页发布候选区,我不想发布啊,可是取消不了,还提示没有超过150字!!!,这只是为了凑个字数!!!!!! 改个分类也改不了,不能发布至首页发布候选区,我不想发布啊,可是取消不了,还提示没有超过150字!!!,这只是为了凑个字数!!!!!! 改个分类也改不了,不能发布至首页发布候选区,我不想发布啊,可是取消不了,还提示没有超过150字!!!,这只是为了凑个字数!!!!!!

借鉴网上的winform模仿QQ窗口停靠功能稍作改动的更多相关文章

  1. Winform调用QQ发信息并且开机启动 (开源)

    前言 公司CS系统需要加入启动qq从winform调用qq聊天窗口的功能,前提是需要将聊天者的QQ号码作为参数传递到函数中,一直没有搞过,正好很感兴趣,就折腾,Winform调用qq,我想肯定是需要一 ...

  2. winform实现QQ聊天气泡200行代码

    c# winform实现QQ聊天气泡界面,原理非常简单,通过webKitBrowser(第三方浏览器控件,因为自带的兼容性差)加载html代码实现,聊天界面是一个纯HTML的代码,与QQ的聊天界面可以 ...

  3. 模仿QQ空间 网页设计

    目的:1.通过模仿QQ空间,全自主写代码,熟悉网页设计的流程 2.熟练的掌握HTML.CSS.JS的应用 3.将在此过程中遇到的问题及其解决方法记录在此,以便取用. 开始: 一.登陆界面(index. ...

  4. 基于IAccessible接口的QQ窗口信息获取的实现

    这个技术现在已经封装成DLL免费开放给大家使用了,详情请加群221487171 可以访问官方网站下载 http://www.guihelper.com/ 主要技术(Microsoft Active A ...

  5. 用C#代码实现类似QQ窗体的“上、左、右”停靠功能

    大家都知道QQ有一个自动停靠功能,即“上.左.右”,当你把窗体拖到屏幕边缘,然后移开鼠标它会自动缩放,然后只显示一小小点出来,我们仔细观察会发现其实它只露3像素左右的边缘,当你鼠标移上去它又会伸出来, ...

  6. C#绘制三角形并填充,使用winform实现qq聊天气泡

    首先是需求,需要制作一个聊天气泡, 但是winform中有没有类似Android的.9图,只有自己设计图形拼接气泡. 第一种是绘制空心三角形,第二种是绘制三角形区域,可以指定RGB颜色. privat ...

  7. 模仿QQ气泡聊天

    尝试了几种方案,想模仿QQ的气泡聊天,总是不尽如意.网上倒是大把的Android和Html的例子,Delphi的没找着,只能自己试着折腾. 1. 用WebBrowser加载本地html,屡次折腾,失败 ...

  8. Qt 之 模仿 QQ登陆界面——样式篇

    一.简述 今天晚上花了半天时间从QQ登录界面抠了些图,顺便加了点样式基本上实现了QQ的登陆界面全部效果.虽不说100%相似,那也有99.99%相似了哈O(∩_∩)O. QQ好像从去年开始,登录界面有了 ...

  9. 活跃天数计算用户等级模仿QQ的升级方式

    QQ等级的算法:设当前等级为N,达到当前等级最少需要的活跃天数为D,当前活跃天数为Dc,升级剩余天数为Dr,则: 从而推出: 好了,引述完成,懒得写字了,贴出代码: 复制内容到剪贴板 代码: < ...

随机推荐

  1. OA学习笔记-004-Spring2.5配置

    一.jar包 (1)spring.jar (2)Aop包 aspectjrt.jaraspectjweaver.jar (3)动态代理 cglib-nodep-2.1_3.jar (4)日志 comm ...

  2. vs2010创建和使用动态链接库(dll)

    本文将创建一个简单的动态链接库,并编写一个应用台控制程序使用该动态链接库,并提出了与实现相关的几个问题,供初学者交流. 本文包含以下内容: 创建动态链接库项目 向动态链接库添加类 创建引用动态链接库的 ...

  3. Asp.net--Ajax前后台数据交互

    转自:http://www.cnblogs.com/guolebin7/archive/2011/02/22/1961737.html 代码由前后台两部分组成: 前台:(新建一个Default.asp ...

  4. LRU 缓冲池 (不考虑多线程)

    lru:(转)LRU算法的实现 什么是LRU算法? LRU是Least Recently Used的缩写,即最近最少使用页面置换算法,是为虚拟页式存储管理服务的.关于操作系统的内存管理,如何节省利用容 ...

  5. bzoj 1036 [ZJOI2008]树的统计Count(树链剖分,线段树)

    1036: [ZJOI2008]树的统计Count Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 10677  Solved: 4313[Submit ...

  6. HDU 1712 ACboy needs your help 典型的分组背包

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1712 ACboy needs your help Time Limit: 1000/1000 MS ( ...

  7. 容联云通讯_提供网络通话、视频通话、视频会议、云呼叫中心、IM等融合通讯能力开放平台。

    容联云通讯_提供网络通话.视频通话.视频会议.云呼叫中心.IM等融合通讯能力开放平台. undefined

  8. MySQL外键约束On Delete、On Update各取值的含义

    主键.外键和索引的区别?   主键 外键 索引 定义: 唯一标识一条记录,不能有重复的,不允许为空 表的外键是另一表的主键, 外键可以有重复的, 可以是空值 主索引(由关键字PRIMARY定义的索引) ...

  9. Oracle的OFA架构

    最优灵活体系结构(Optimal Flexible Architecture,简称OFA) OFA其实就是一种Oracle的一种规范,其意义就是用一种统一的给文件和文件夹的规则,和文件存放目录的规则做 ...

  10. xml基础小结

    XML基础 1)XML的作用 1.1 作为软件配置文件 1.2 作为小型的“数据库” 2)XML语法(由w3c组织规定的) 标签: 标签名不能以数字开头,中间不能有空格,区分大小写.有且仅有一个根标签 ...