0

可能重复:
C# - 使无边界表单可移动?

如果我将表单设置FormBorderStyleNone,我将失去表单的拖动行为,正如预期的那样。

我在表单顶部添加了一个自定义栏,我希望它保持这种状态,现在是否可以将表单保持在这种模式下并具有(或写入)拖动行为?

如果可能的话,我该怎么做。我真的希望找到一个是的,这是可能的答案。:)

4

1 回答 1

1
private const Int32 WM_NCHITTEST = 0x84;
private const Int32 HTCLIENT = 0x1;
private const Int32 HTCAPTION = 0x2;

protected override void WndProc(ref Message m)
{
    if (m.Msg == WM_NCHITTEST)
    {
        base.WndProc(ref m);

        if ((Int32)m.Result == HTCLIENT)
            m.Result = (IntPtr)HTCAPTION;

        return;
    }

    base.WndProc(ref m);
}
于 2013-01-16T16:36:12.383 回答