zoukankan      html  css  js  c++  java
  • [转]C#鼠标拖动任意控件

     

    C#鼠标拖动任意控件(winform)

    分类: c#
     1         using System.Runtime.InteropServices;  
     2         //并为控件 添加 MouseDown 事件 
     3 
     4         // C#鼠标拖动任意控件 
     5 
     6         // 利用Windows的API函数:SendMessage 和 ReleaseCapture 
     7         const uint WM_SYSCOMMAND = 0x0112;
     8         const uint SC_MOVE = 0xF010;
     9         const uint HTCAPTION = 0x0002;
    10 
    11         [DllImport("user32.dll", EntryPoint = "SendMessageA")]
    12         private static extern int SendMessage(IntPtr hwnd, uint wMsg, uint wParam, uint lParam);
    13         [DllImport("user32.dll")]
    14         private static extern int ReleaseCapture();
    15 
    16         void ControlMouseDown(object sender, MouseEventArgs e)
    17         {
    18             ReleaseCapture();
    19             SendMessage((sender as Control).Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0);
    20         }

     来自:https://www.cnblogs.com/yangruiGB2312/p/5823943.html

    [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;
    /// <summary>
    /// 为了是主界面能够移动
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void Form1_MouseDown(object sender, MouseEventArgs e)
    {
        ReleaseCapture();
        SendMessage(this.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0);
    }  
  • 相关阅读:
    VUE项目开发流程
    vue-导入element-ui
    微信小程序开发-踩坑
    python-编码问题
    python-导入自定义模块
    maven安装配置
    npm修改源
    gitlab使用指南
    Wox使用指南
    Linux拷贝文件夹
  • 原文地址:https://www.cnblogs.com/z5337/p/3884268.html
Copyright © 2011-2022 走看看