我可以轻松检查哪个按钮当前处于Pressed状态或Released状态。例如,要检查当前是否已发布LeftButton
,我可以使用:
void mouse_event_handler(object sender, MouseButtonEventArgs e)
{
if (e.LeftButton == MouseButtonState.Released)
{
// left button is released
}
}
我的问题是:如何确定哪个鼠标按钮(例如LeftButton
)刚刚将其状态从“按下”更改为“已发布”?上述方法无法确定无论先前发布了哪个按钮MiddleButton
或RightButton
,它都是真的(即它只检查当前状态)。我不确定C#/WPF
原生支持这一点。我想要这样的东西:
if (e.LeftButton == MouseButtonState.Just_Released)
P.S。:我知道一种方法可以在鼠标按钮关闭时使用额外的标记,然后检查此标记。
答案 0 :(得分:4)
您可以使用MouseButtonEventArgs类的ChangedButton属性
if (e.ChangedButton == MouseButton.Left)
{
// Only occurs when the Left button is released
}
if (e.LeftButton == MouseButtonState.Released)
{
// Occurs everytime a button is released (doesnt matter which one) AND the left mouse button is in released mode
}