可能的重复:
C# - 使无边框表单可移动? https://stackoverflow.com/questions/1592876/c-sharp-make-a-borderless-form-movable
我通过设置在 C# 中制作了一个无边框的表单
this.FormBorderStyle = FormBorderStyle.None;
现在的问题是如何用鼠标拖动它?
这应该就是您正在寻找的“增强:拖动并移动 WinForms” http://jachman.wordpress.com/2006/06/08/enhanced-drag-and-move-winforms-without-having-a-titlebar/
public partial class MyDraggableForm : Form
{
private const int WM_NCHITTEST = 0x84;
private const int HTCLIENT = 0x1;
private const int HTCAPTION = 0x2;
///
/// Handling the window messages
///
protected override void WndProc(ref Message message)
{
base.WndProc(ref message);
if (message.Msg == WM_NCHITTEST && (int)message.Result == HTCLIENT)
message.Result = (IntPtr)HTCAPTION;
}
public MyDraggableForm()
{
InitializeComponent();
}
}
正如博客文章所述,这是一种“欺骗”系统的方法。这样您就不需要考虑鼠标向上/向下事件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)