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

  • 相关阅读:
    粘包_Server
    初见UDP_Server
    初见UDP_Client
    TCP/UDP协议
    网络编程相关概念
    mmap实现大文件快速拷贝
    生成这消费者问题(多线程实现)
    线程同步互斥实现资源访问
    信号灯(线程互斥)
    线程属性
  • 原文地址:https://www.cnblogs.com/csnd/p/12062185.html
Copyright © 2011-2022 走看看