C#窗口任意位置拖动

转载 2013年08月11日 16:45:32

网上找来的一段代码,测试有效。注意要添加System.Runtime.InteropServices的引用

using System;
using System.Runtime.InteropServices;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        [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;

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_MouseDown(object sender, MouseEventArgs e)
        {
            ReleaseCapture();
            SendMessage(this.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0);
        }
    }
}

C#点击窗口任意位置可拖拽

直接上代码 private Point offset; private void Form1_MouseDown(object sender, MouseEventArgs e) { ...
  • ErErFei
  • ErErFei
  • 2016-02-03 13:43:26
  • 2636

WINDOWS高级窗口的客户区域拖动技术及其应用

  WINDOWS应用程序窗口一般包括两种:普通窗口和常居顶层的无标题条高级窗口。前者是由WINDOWS内部功能定制的,它具有WINDOWS应用程序窗口的所有普通特性:具有标题条、窗口边框、最大化按钮...
  • xiaoyanzi
  • xiaoyanzi
  • 2000-08-08 16:30:00
  • 1251

VC/MFC拖动窗口任意位置移动窗口

除了拖动标题栏移动窗口以外,我们也可以拖动窗口任意位置(除控件)位置而使对话框移动。 这里只讲述基于对话框的程序 class c**dlg:public CDialog { //Constru...
  • luanwujian
  • luanwujian
  • 2013-06-08 22:34:21
  • 2729

VC单击窗口任意位置都可拖动窗口

  • 2012年08月12日 12:11
  • 564B
  • 下载

(MFC)在任意位置拖动窗口或弹出窗口菜单

(MFC)在任意位置拖动窗口或弹出窗口菜单
  • kencaber
  • kencaber
  • 2016-05-15 16:30:38
  • 971

拖动窗口任意位置移动窗口(网上找的没有整理)

除了拖动标题栏移动窗口以外,我们也可以拖动窗口任意位置(除控件)位置而使对话框移动。 ...
  • darkduck9989
  • darkduck9989
  • 2007-10-17 10:40:00
  • 2338

无边框对话框拖动改变大小的实现总结

同样是项目遇到的问题,要求是无边框的对话框要实现鼠标的拖动改变大小。无边框对话框跟有边框的实现肯定不一样喽。 我上网搜到一种方法是: 需要处理以下这三个消息:   ...
  • lyh03601
  • lyh03601
  • 2014-08-21 08:53:27
  • 1806

MFC任意位置实现窗口拖动

如果应用程序自己绘制的界面没有标题栏,那我们怎么来拖动界面呢?     当鼠标在窗口内移动,点击或者释放时都会产生WM_NCHITTEST消息,响应函数OnNcHitTest会返回一个枚举值,m...
  • liuyi1207164339
  • liuyi1207164339
  • 2015-07-02 18:17:45
  • 2729

wpf如何实现自定义窗口自由拖动

我是一个新手,也是第一次写博客,有什么不好的还请大家指教,只为记录一下自己学习的东西 话不多说了。 今天碰到一个Wpf的窗口让鼠标按下可以拖动,本来想想很简单的,调用一下this.DragMove...
  • lyy080808
  • lyy080808
  • 2015-07-14 23:13:59
  • 4575

任意位置拖动窗口

点击窗口任意位置进行拖动的方法:在鼠标左键按下消息响应函数中增加以下语句://向系统发送HTCAPTION消息,让系统以为鼠标点在标题栏上,完成窗口的拖动PostMessage(WM_NCLBUTTO...
  • shyboy_NWPU
  • shyboy_NWPU
  • 2010-03-10 20:09:00
  • 576
收藏助手
不良信息举报
您举报文章:C#窗口任意位置拖动
举报原因:
原因补充:

(最多只允许输入30个字)