在 OnMouseMove 事件中查看鼠标左键是不是被按住
Posted
技术标签:
【中文标题】在 OnMouseMove 事件中查看鼠标左键是不是被按住【英文标题】:See if left mouse button is held down in the OnMouseMove event在 OnMouseMove 事件中查看鼠标左键是否被按住 【发布时间】:2011-01-12 06:23:36 【问题描述】:如何在控件的OnMouseMove
事件中检测鼠标左键是否被按住?
【问题讨论】:
在什么平台上? WinForms、Silverlight 和 WPF 等的解决方案不同。 【参考方案1】:您的 OnMouseMove 事件的事件处理程序应该会收到一个 MouseEventArgs
,它会告诉您是否按下了左键
private void mouseMoveEventHandler(object sender, MouseEventArgs e)
if(e.Button == MouseButtons.Left)
//do left stuff
else
// do other stuff
【讨论】:
【参考方案2】:按住鼠标左键时将布尔值设置为 true,松开鼠标左键时将其设置为 false。
如果您在触发 OnMouseMove 事件时检查 bool 的条件,那么您将能够找出它是否被按住。
伪代码:
private bool isDown;
MouseDown()
isDown = true;
MouseUp()
isDown = false;
OnMouseMove()
if(isDown)
//Do something...
【讨论】:
以上是关于在 OnMouseMove 事件中查看鼠标左键是不是被按住的主要内容,如果未能解决你的问题,请参考以下文章