zoukankan      html  css  js  c++  java
  • C#-窗体移动

     #region 窗体移动API
            [DllImport("user32.dll")]
            public static extern bool ReleaseCapture();
            [DllImport("user32.dll")]
            public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int IParam);
            public const int WM_SYSCOMMAND = 0x0112;
            public const int SC_MOVE = 0xF010;
            public const int HTCAPTION = 0x0002;
            [DllImport("user32")]
            private static extern int SendMessage(IntPtr hwnd, int wMsg, int wParam, IntPtr lParam);
            private const int WM_SETREDRAW = 0xB;
            #endregion
    
     //窗体拖拽(包含双击最大化,根据两次点击的point判断是拖拽还是双击、坐标保存在SetForm.Tag)
                textBox1.MouseDown += delegate
                {
                    if (this.Tag != null && ((int[])this.Tag)[0] == Control.MousePosition.X && ((int[])this.Tag)[1] == Control.MousePosition.Y)
                    {
    
                            if (this.WindowState != FormWindowState.Maximized)
                            {
                                this.Opacity = 0;
                                this.Tag = null;
                                this.WindowState = FormWindowState.Maximized;
                            }
                            else
                            {
                                this.Tag = null;
                                this.WindowState = FormWindowState.Normal;
                                //InvalidateRect(IntPtr.Zero, IntPtr.Zero, true);
                            }
                        
                    }
                    else
                    {
                        this.Tag = new int[2] { Control.MousePosition.X, Control.MousePosition.Y };
                    }
                    //刷新桌面
                    if (this.WindowState == FormWindowState.Normal)
                    {
                        ReleaseCapture();
                        SendMessage(this.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0);
                    }
                };

  • 相关阅读:
    Java-io流入门到精通详细总结
    Java网络编程总结
    递归--逆波兰表达式
    递归--N皇后问题
    递归--汉诺塔问题 (Hanoi)
    递归--求n!的阶乘结果
    枚举--熄灯问题
    枚举--假币问题
    枚举--生理周期
    枚举--完美立方Python算法实现
  • 原文地址:https://www.cnblogs.com/csnd/p/12062185.html
Copyright © 2011-2022 走看看