zoukankan      html  css  js  c++  java
  • 【.Net】 实现窗口拖动

    实现点击Form可以拖动窗口。

            #region 实现窗口拖动
            [DllImport("user32.dll")]
            public static extern bool ReleaseCapture();
    
            [DllImport("user32.dll")]
            public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int lParam);
    
            private void frm_MouseDown(object sender, MouseEventArgs e)
            {
                ReleaseCapture();
                SendMessage(this.Handle, 0x0112, 0xF012, 0);
            }
            #endregion
         //调用者
    private void FormMain_MouseDown(object sender, MouseEventArgs e) { frm_MouseDown(this, e); }

    以上只是窗体上没有控件的区域可以拖动,因为有控件的就出发控件的MouseDown事件了。

    如果有比较要可批量注册控件的MouseDown事件。

    但是要注意,不能注册可点击控件的事件,比如Button等需要接受点击事件的控件会失效。

    foreach (Control c in  this.Controls)
            {
                if (!Type.Equals(c.GetType(), button1.GetType()))
                    c.MouseDown += new System.Windows.Forms.MouseEventHandler(this.frm_MouseDown);
            }
  • 相关阅读:
    ajax跨域名
    js(鼠标键盘拖动事件)
    关于servlet转发和重新定向
    ztree的异步加载
    关于三层(dao,serviece,servlet)
    serclet监听器
    servlet(2)response常用方法
    servlet(1)request常用方法
    .post
    A1146 Topological Order
  • 原文地址:https://www.cnblogs.com/fjfjfjfjfjfj/p/3327121.html
Copyright © 2011-2022 走看看