博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WPF窗口贴边隐藏(类似QQ)
阅读量:4560 次
发布时间:2019-06-08

本文共 1270 字,大约阅读时间需要 4 分钟。

    public partial class MainWindow : Window

    {
        #region 窗口贴边隐藏用的变量
        //鼠标坐标当前位置
        private MousePosition p = new MousePosition();
        MousePosition.POINT point;
        //窗口贴边隐藏用的变量
        private bool isHidd = false;
        public double CurrentTop { get; set; }
        #endregion
        //构造函数
        public MainWindow()
        {
            InitializeComponent();
            p.MouseMove(out point);
        }
        //鼠标进入窗口
        private void MainWindow_OnMouseMove(object sender, MouseEventArgs e)
        {
            if (!isHidd) return;
            while (CurrentTop < 0)
            {
                CurrentTop += 1;
                this.Top = CurrentTop;
            }
            isHidd = false;
        }
        //鼠标离开窗口
        private void MainWidow_OnMouseLeave(object sender, MouseEventArgs e)
        {
            if (isHidd) return;
            if (point.Y<=21)
            {
                CurrentTop = this.Top;
                while (CurrentTop>=-this.ActualHeight+8)
                {
                    CurrentTop += -1;
                    this.Top = CurrentTop;
                }
                isHidd = true;
            }
           
        }
        private void MainWidow_OnMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            this.DragMove();
            p.MouseMove(out point);
        }
    }

 

定义了一个MousePosition类。

  代码如下:

    public class MousePosition

    {
        [DllImport("User32")]
        public static extern bool GetCursorPos(out POINT pt);
        public struct POINT
        {
            public int X;
            public int Y;
            public POINT(int x, int y)
            {
                this.X = x;
                this.Y = y;
            }
        }
        //鼠标移动并计算坐标
        public void MouseMove(out POINT MousePoint)
        {
            GetCursorPos(out MousePoint);
        }
    }

前台可以自己设计。

转载于:https://www.cnblogs.com/renkf/p/4040713.html

你可能感兴趣的文章
ORA-12505: TNS: 监听程序当前无法识别连接描述符中所给出的SID等错误解决方法
查看>>
实用类-<Math类常用>
查看>>
构建之法阅读笔记之四
查看>>
10.15习题2
查看>>
Windows Server 2008 R2 备份与恢复详细实例
查看>>
Ubuntu上kubeadm安装Kubernetes集群
查看>>
关于java学习中的一些易错点(基础篇)
查看>>
MFC的多国语言界面的实现
查看>>
四则运算个人项目 最终版
查看>>
java线程系列---java5中的线程池
查看>>
SQL表连接
查看>>
新秀系列C/C++经典问题(四)
查看>>
memset函数具体说明
查看>>
经常使用的android弹出对话框
查看>>
确保新站自身站点设计的合理性的六大注意点
查看>>
1033. 旧键盘打字(20)
查看>>
asp编程实例:ASP编程中20个非常有用的例子
查看>>
HDU 1076 An Easy Task
查看>>
The Zen of Python
查看>>
PHP单链表的基本操作
查看>>