wpf、winform仿QQ靠边隐藏
先说下下面的代码和demo是wpf的,如果winform要用,改动不大的。
实现思路: 通过定时刷新鼠标位置 和 窗体坐标 进行计算 来控制窗体的隐藏 显示
代码都有详细的注释
//窗体状态 true为显示 false为隐藏
private bool IsHide = false;
//鼠标状态 true为进入窗体 false为离开窗体
private bool IsMouseEnter = false;
//计时器 通过win32api实时获取鼠标位置
private Timer timer; public MainWindow()
{
InitializeComponent();
timer = new Timer();
timer.Interval = ;
timer.Tick += new EventHandler(timer_Tick); } void timer_Tick(object sender, EventArgs e)
{
MousePosition.CurrentPoint point;
MousePosition.MouseMove(out point);
//判断鼠标是否进入窗体
if (point.X >= this.Left && point.X <= this.Left + this.Width&&point.Y>=this.Top&&point.Y<=this.Top+this.Height)
{
//鼠标在窗体内部
IsMouseEnter = true;
}
else
{
//鼠标离开窗体
IsMouseEnter = false;
} //判断窗体是否在隐藏状态
if (IsHide)
{
//如果在隐藏状态 且 横坐标在窗体横坐标方位 纵坐标小于等于20 则显示窗体 并把窗体状态设置为显示
if (point.X >= this.Left && point.X <= this.Left + this.Width)
{
if (point.Y <= )
{
this.Top = ;//显示窗体
IsHide = false;//把窗体状态设置为显示
}
}
}
else
{
//如果在显示状态 且纵坐标小于等于20 切鼠标不在窗体内 则隐藏窗体 if (this.Top <= && !IsMouseEnter)
{
this.Top = - this.Width;//隐藏窗体
IsHide = true;
}
}
} private void Window_Loaded(object sender, RoutedEventArgs e)
{
timer.Start();
}
wpf、winform仿QQ靠边隐藏的更多相关文章
- wpf实现仿qq消息提示框
原文:wpf实现仿qq消息提示框 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/huangli321456/article/details/5052 ...
- wpf 仿QQ图片查看器
参考博客 WPF下的仿QQ图片查看器 wpf图片查看器,支持鼠标滚动缩放拖拽 实现效果 主要参考的WPF下的仿QQ图片查看器,原博主只给出了部分代码. 没有完成的部分 1.右下角缩略图是原图不是缩略图 ...
- QQ揭秘:如何实现窗体靠边隐藏?【低调赠送:QQ高仿版GG 4.2 最新源码】
QQ有个靠边隐藏的功能,使用起来很方便:在屏幕上拖动QQ的主窗体,当窗体的上边沿与屏幕的上边沿对齐时,主窗体就会duang~~地隐藏起来,当将鼠标移到屏幕上边沿的对应区域时,主窗体又会duang~~显 ...
- WPF ”真正的“高仿QQ
时常可以在各种论坛 博客 看到 各种所谓的 高仿QQ. 说实话 越看越想笑呢.(PS:纯粹的 抨击 那些 不追求 UI 完美主义者) 例如: 本次模仿 采用 C# WPF XAML , 总 ...
- WPF C#截图功能 仿qq截图
原文:WPF C#截图功能 仿qq截图 先上效果图 源码下载地址:http://download.csdn.net/detail/candyvoice/9788099 描述:启动程序,点击窗口butt ...
- C#如何实现类似QQ那样靠边隐藏的功能
http://www.cnblogs.com/yechensi/archive/2009/08/02/1537145.html C#如何实现类似QQ那样靠边隐藏的功能 你想过为自己的程序添加靠边隐藏的 ...
- wpf仿qq边缘自动停靠,支持多屏
wpf完全模仿qq边缘自动隐藏功能,采用鼠标钩子获取鼠标当前状态,在通过当前鼠标的位置和点击状态来计算是否需要隐藏. 以下是实现的具体方法: 一.鼠标钩子实时获取当前鼠标的位置和点击状态 /// &l ...
- WPF开发实例——仿QQ登录界面
原文:WPF开发实例--仿QQ登录界面 版权声明:本文为博主原创文章,如需转载请标明转载地址 http://blog.csdn.net/u013981858 https://blog.csdn.net ...
- WPF仿QQ聊天框表情文字混排实现
原文:WPF仿QQ聊天框表情文字混排实现 二话不说.先上图 图中分别有文件.文本+表情.纯文本的展示,对于同一个list不同的展示形式,很明显,应该用多个DataTemplate,那么也就需要Data ...
随机推荐
- Android为TV端助力 转载:Android绘图Canvas十八般武器之Shader详解及实战篇(上)
前言 Android中绘图离不开的就是Canvas了,Canvas是一个庞大的知识体系,有Java层的,也有jni层深入到Framework.Canvas有许多的知识内容,构建了一个武器库一般,所谓十 ...
- QTP入门——玩玩小飞机
1.什么是QTP? 百度百科中对QTP是这么介绍的: ——”QTP是QuickTest Professional的简称,是一种自动化测试工具.使用QTP的目的是想用它来执行重复的自动化测试,主要是用于 ...
- 关于前端js面向对象编程以及封装组件的思想
demo-richbase 用来演示怎么使用richbase来制作组件的例子 作为一名前端工程师,写组件的能力至关重要.虽然javascript经常被人嘲笑是个小玩具,但是在一代代大牛的前仆后继的努力 ...
- php post接口,注册功能
功能描述:仅输入手机号和密码,实现注册功能.手机号有简单的验证,不可重复输入,否则会报500错误. 在使用 RestClient 进行post测试时,如果你把参数放在 [Headers]区块了,那么, ...
- 资深程序员整理出来的Python面试题
转载链接:https://www.cnblogs.com/fcxwz/p/9225791.html
- Scala并发编程【进阶】
package com.dingxin.entrance import java.text.SimpleDateFormat import java.util.Date import scala.ac ...
- mssql sqlserver in 关键字在值为null的应用举例
转自:http://www.maomao365.com/?p=6873 摘要: 下文通过案例分析in 关键字在值为null的应用举例, 分析出not in关键字在null值产生的异常信息 如下所示: ...
- Mysql --学习:大量数据快速导入导出
声明:此文供学习使用,原文:https://blog.csdn.net/xiaobaismiley/article/details/41015783 [实验背景] 项目中需要对数据库中一张表进行重新设 ...
- Win7下安装OpenSSL出现的问题
1. cl.exe 运行出现错误,提示“丢失mspdb100.dll”等字样,需要将 C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE ...
- Linux补充
1.从国内豆瓣源安装软件 pip install -i https://pypi.doubanio.com/simple paramiko --trusted-host pypi.douban.com