您的位置:首页 > 编程语言 > C#

c#移动无边框窗体

2014-06-18 14:27 302 查看
//[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 Frm_AdvisementDetection_MouseDown(object sender, MouseEventArgs e)

//{

// ReleaseCapture();

// SendMessage(this.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0);

//}

在窗体类中加入如下代码:

[csharp] view
plaincopyprint?

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;

然后,在窗体的MouseDown事件中加入以下两句:

ReleaseCapture();

SendMessage(this.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0);

就搞定了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: