zoukankan      html  css  js  c++  java
  • 无边框窗体的移动(winform/wpf)

    WinForm
      引入命名空间
      using
    System.Runtime.InteropServices;
    无边框移动 [DllImport(
    "user32.dll")] public static extern bool ReleaseCapture(); [DllImport("user32.dll")] public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int lParam); public const int WM_SYSCOMMAND = 0x0112; public const int SC_MOVE = 0xF010; public const int HTCAPTION = 0x0002; private void Form_MouseDown(object sender, MouseEventArgs e) { ReleaseCapture(); SendMessage(this.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0); }
    WPF
    private void Window_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { this.DragMove(); }
    上述的dragMove 如果实现不了的话,wpf可以使用以下的方式实现,
    通过以上的方法也能过够实现
    加入命名空间:
    using System.Runtime.InteropServices;
    using System.Windows.Interop;
    
    namespace wintest
    {
        
            [DllImport("User32.dll")]
            public static extern bool ReleaseCapture();
            [DllImport("User32.dll")]
            public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int lParam);
            public const int WM_SYSCOMMAND = 0x0112;
            public const int SC_MOVE = 0xF010;
            public const int HTCAPTION = 0x0002;
        
    
            private void Window_MouseDown(object sender, MouseButtonEventArgs e)
            {
                ReleaseCapture();
                WindowInteropHelper wihHandle = new WindowInteropHelper(this);// 获得该window的句柄
                SendMessage(wihHandle.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0);
            }
    
    
    
    
    
    wangliuzheng1990@126.com
  • 相关阅读:
    mac升级后,遇到openssl相关问题
    mysql清空所有表
    composer 管理js css等依赖文件【fxp/composer-asset-plugin】
    php安装pcntl
    git命令
    docker
    OAuth 2.0
    mysql杯观锁与乐观锁
    mysql添加用户,授权,刷新权限
    Mac下安装SecureCRT并激活
  • 原文地址:https://www.cnblogs.com/wangliuzheng/p/2918100.html
Copyright © 2011-2022 走看看