当前位置: 首页 > 知识库问答 >
问题:

鼠标左键单击和菜单项单击之间的冲突

华宏逸
2023-03-14

我正在Silverlight中构建应用程序,现在我遇到了事件问题。在应用程序中,我必须绘制多边形,其中每个多边形

polygon.MouseLeftButtonUp += MouseButtonEventHandler_MouseLeftButtonUp;
polygon.MouseRightButtonUp += MouseButtonEventHandler_MouseRightButtonUp;

其中鼠标左键事件应该是在点击位置添加图像,鼠标右键事件应该是带有单个菜单项的上下文菜单。在菜单项上点击应该会显示一些简短的信息。

这是我有问题的地方。当我点击上下文菜单中的某个项目时,如果该菜单项仍然在多边形代码上,还可以检测鼠标左键事件并添加图像。

我想不添加图像时,菜单项被点击,只是为了显示简短的信息。

有什么建议吗?

共有1个答案

南宫泓
2023-03-14

当连接鼠标按钮事件时,MouseButtonEventHandler具有MouseButtonEventArgs,它将允许您确定单击了哪个鼠标按钮:

private void MouseButtonDownHandler(object sender, MouseButtonEventArgs e)
{
    Control src = e.Source as Control;

    if (src != null)
    {
        switch (e.ChangedButton)
        {
            case MouseButton.Left:
                // do something
                break;
            case MouseButton.Middle:
                // do something
                break;
            case MouseButton.Right:
                // do something
                break;
            case MouseButton.XButton1:
                // do something
                break;
            case MouseButton.XButton2:
                // do something
                break;
            default:
                break;
        }
    }
}

在您的情况下,当您检测到鼠标右键被鼠标左键处理程序单击时,请取消该事件。对于鼠标左键处理程序,反之亦然。

 类似资料:
  • 我正在尝试将鼠标悬停在动画菜单上并在菜单中选择一个项目。我尝试先通过xpath在菜单上执行悬停,然后通过xpath执行单击菜单项,如下所示。 我有个例外 org.openqa.selenium.interactions。MoveTargetOutOfBoundsException:元素内的偏移量无法滚动到视图中 我还尝试将这些行为链接如下: 这也会引发相同的异常。 有什么想法来实现动画菜单项的点击

  • 问题内容: 在我的三个按钮上,鼠标=中键单击和=右键单击。 两键鼠标就是这种情况吗? 谢谢 问题答案: 为了避免任何歧义,请使用SwingUtilities中的实用程序方法:

  • 我有一个带有页眉和页脚的主JSP页面,而页面的内容位于另一个JSP页面中。我想点击菜单项并通过加载链接页面 我做什么: 这是index.jsp: 如果我点击第二个链接,我想包括page.jsp,只包含网页的中心部分的代码

  • 问题内容: 我想知道是否有最佳实践/正确的方法来为React组件设置右键菜单。 我目前有这个… 可以,但是感觉有点混乱,我想知道是否还有其他方法可以使用,任何信息将不胜感激, 谢谢! 问题答案: 更新: 想通了-这是您可以做的 在渲染中,您可以将函数传递给onContextMenu,以使该react组件发生右键单击。

  • 1.首先准备我们的HTML <div class="menu"> <ul> <li>春眠不觉晓,处处闻啼鸟。</li> <li>Any <ul> <li>lover</li> <li>Gold

  • 我正在开发一个实践应用程序,当你在画布内单击时,它会将蓝色方块添加到画布中。其中一个要求是在该点添加形状,鼠标代表新形状的中心。 默认情况下,鼠标的单击点将位于正方形的左上角。有没有办法让正方形从鼠标点击的中心而不是右上角生成? 这是我目前将我的方块添加到画布的方式: