zoukankan      html  css  js  c++  java
  • WPF窗口贴边隐藏(类似QQ)

        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);
            }
        }

    前台可以自己设计。

  • 相关阅读:
    UVa532 Dungeon Master 三维迷宫
    6.4.2 走迷宫
    UVA 439 Knight Moves
    UVa784 Maze Exploration
    UVa657 The die is cast
    UVa572 Oil Deposits DFS求连通块
    UVa10562 Undraw the Trees
    UVa839 Not so Mobile
    327
    UVa699 The Falling Leaves
  • 原文地址:https://www.cnblogs.com/renkf/p/4040713.html
Copyright © 2011-2022 走看看