将拖动行为添加到FormBorderStyle设置为“无”的窗体中
本文关键字:窗体 FormBorderStyle 拖动 添加 设置 | 更新日期: 2023-09-27 17:54:05
可能重复:
C#-使无边界窗体可移动?
如果将表单的FormBorderStyle
设置为None
,则会丢失表单的拖动行为,正如预期的那样。
我已经在表单顶部添加了一个自定义栏,我希望它保持这种状态,现在可以将表单保持在这种模式并进行(或写入(拖动行为吗?
如果可能的话,我该怎么做。我真的希望找到一个是的,这是可能的答案:(
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);
}