网站右侧虚代码,免费公众号编辑模板,广东东莞人才招聘网,wordpress 登录菜单要实现C#无标题栏窗体的拖动功能#xff0c;可以通过以下步骤实现#xff1a;
在窗体的构造函数中添加以下代码#xff0c;以去掉标题栏#xff1a;
this.FormBorderStyle FormBorderStyle.None;然后#xff0c;添加以下代码以处理鼠标按下事件#xff1a;
private c…要实现C#无标题栏窗体的拖动功能可以通过以下步骤实现
在窗体的构造函数中添加以下代码以去掉标题栏
this.FormBorderStyle FormBorderStyle.None;然后添加以下代码以处理鼠标按下事件
private const int WM_NCHITTEST 0x0084;
private const int HT_CAPTION 0x0002;protected override void WndProc(ref Message m)
{switch (m.Msg){case WM_NCHITTEST:base.WndProc(ref m);if ((int)m.Result HT_CLIENT)m.Result (IntPtr)HT_CAPTION;return;}base.WndProc(ref m);
}最后通过处理鼠标按下和移动事件来实现拖动功能
private bool isDragging false;
private Point lastCursor;
private Point lastForm;private void Form1_MouseDown(object sender, MouseEventArgs e)
{isDragging true;lastCursor Cursor.Position;lastForm this.Location;
}private void Form1_MouseMove(object sender, MouseEventArgs e)
{if (isDragging){int x lastForm.X - (lastCursor.X - Cursor.Position.X);int y lastForm.Y - (lastCursor.Y - Cursor.Position.Y);this.Location new Point(x, y);}
}private void Form1_MouseUp(object sender, MouseEventArgs e)
{isDragging false;
}将上述代码添加到你的窗体上即可实现无标题栏窗体的拖动功能。