声明变量保存状态:
private bool m_bMouseDown=false;
//鼠标MouseDown事件。此处省略了鼠标位置判断(只应在标题栏范围内才响应鼠标拖动窗体)
private void Form_MouseDown(object sender,MouseEventArgs e)
{
if(e.Button==MouseButtons.Left)
{
m_bMouseDown=true;
}
}
//鼠标MouseUp事件。
private void Form_MouseUp(object sender,MouseEventArgs e)
{
m_bMouseDown=false;
}
//MouseMove事件。
private void Form_MouseMove(object sender,MouseEventArgs e)
{
Form _oForm=sender as Form;
if(m_bMouseDown && _oForm.WindowState!=FormWindowState.Maximized)
{
ApiUtility.ReleaseCapture();
ApiUtility.SendMessage(_oForm.Handle.ToInt32(), 0xA1, 2, 0);
m_bSendedMessage=true;
m_bMouseDown=false;
}
}
鼠标移动控制代码
最新推荐文章于 2020-01-20 16:24:17 发布
本文介绍如何使用C#编程语言实现鼠标拖动窗口的功能。通过在鼠标按下、抬起和移动事件中进行判断与操作,使得窗口能够在标题栏范围内被用户拖动。详细解释了相关代码逻辑与实现细节。
386

被折叠的 条评论
为什么被折叠?



