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. Yii modules中layout文件的调用

    在YII中,如果我们使用了modules区分了前后台,那么在不同的modules中需要使用各自的layout文件,在使用中发现经常会调用不到modules中的layout,下面介绍一下如何才能正确的调 ...

  2. 产品设计中先熟练使用铅笔 不要依赖Axure

    在互联网产品领域,Axure已成为产品经理.产品设计师以及交互设计师的必备工具,从某种程度讲,Axure帮助我们建立低保真模型,便于与用户的需求验证,也帮助我们构思交互细节,使前端和开发人员更容易理解 ...

  3. Apache Struts 跨站脚本漏洞

    漏洞名称: Apache Struts 跨站脚本漏洞 CNNVD编号: CNNVD-201311-010 发布时间: 2013-11-04 更新时间: 2013-11-04 危害等级:    漏洞类型 ...

  4. 安装PyQt

    下载PyQt(版本一定要对) http://www.riverbankcomputing.com/software/pyqt/download import sys,urllib2 from HTML ...

  5. Castle学习系列之二:Castle配置

    说明:本系列文章参考自李会军先生的Castle 开发系列文章,然后记录自己在学习时遇到的一些问题,记录之. 主要内容 1.Castle配置学习 2.初始化配置 Castle配置学习 <?xml ...

  6. StringHelpers

    public class StringHelpers { public const char QUERY_STRING_DELIMITER = '&'; private static Rijn ...

  7. ARM学习笔记11——GNU ARM汇编程序设计

    GNU ARM汇编程序设计中,每行的语法格式如下: [<label>:] [<instruction | directive | pseudo-instruction>] @c ...

  8. MFC如何获取编辑框中输入的内容

    1.GetDlgItemText() 2.先用 GetDlgItem(编辑框的ID)获取指向编辑框的指针.再用GetWindowText函数将获取内容保存至指定的字符数组里. 3.使用 GetDlgI ...

  9. 主流智能手机屏幕材质介绍 及 LCD闪屏现象分析

    TN            TN(Twisted Nematic) 即扭曲向列型面板,属于有源矩阵液晶显示器中的一种.由于TFT是主动式矩阵LCD可让液晶的排列方式具有记忆性,不会在电流消失后马上恢复 ...

  10. DataTable导入到Excel文件

        ;                saveFileDialog.RestoreDirectory = ;            , intIndex] = column.ColumnName; ...