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

  • 相关阅读:
    linux 重定向命令
    G++依赖安装顺序
    SQL*Plus Error Messages
    理解 chroot
    CRM的基本功能有哪些?
    GCC依赖安装顺序
    RHEL6.3 安装GCC 记录
    python requests模块http请求
    安装paramiko模块
    python执行系统命令的方法:os.system(), os.popen(), subprocess.Popen()
  • 原文地址:https://www.cnblogs.com/csnd/p/12062185.html
Copyright © 2011-2022 走看看