C# MouseMove事件阻止WPF中的MouseRightButtonUp事件
我用DrawingVisual画了一些线。现在我正在尝试实现一个简单的命中测试 当鼠标指针在一条线上移动时,我会用两倍于它的厚度重新绘制它,给用户一种高亮显示的感觉(下图中的洋红线) 在我还实现了一个C# MouseMove事件阻止WPF中的MouseRightButtonUp事件,c#,wpf,events,mouseevent,C#,Wpf,Events,Mouseevent,我用DrawingVisual画了一些线。现在我正在尝试实现一个简单的命中测试 当鼠标指针在一条线上移动时,我会用两倍于它的厚度重新绘制它,给用户一种高亮显示的感觉(下图中的洋红线) 在我还实现了一个MouseRightButtonUp事件之前,这一切都很好。我想在用户右键单击该行时显示messagebox。但不知何故,当鼠标悬停在该行上并高亮显示该行时,MouseRightButtonUpevent根本不会升起。有什么问题吗 MouseMove += OnMouseMove; MouseRi
MouseRightButtonUp
事件之前,这一切都很好。我想在用户右键单击该行时显示messagebox。但不知何故,当鼠标悬停在该行上并高亮显示该行时,MouseRightButtonUp
event根本不会升起。有什么问题吗
MouseMove += OnMouseMove;
MouseRightButtonUp += OnMouseRightButtonUp;
private void OnMouseMove(object sender, MouseEventArgs e)
{
var p = e.GetPosition(Window);
// Check if the mouse hit any lines and redraw
ReDraw();
}
void OnMouseRightButtonUp(object sender, MouseButtonEventArgs e)
{
// Check if any line is hit and show the message box
if (lineHit)
{
MessageBox.Show("You hit the line!");
}
}
尝试
PreviewMouseRightButtonUp
tunneling事件。@dymanoid我做了,结果相同。当我删除MouseMove事件时,一切都会恢复正常。您正在连接MouseMove
和MouseRightButtonUp
,因为我用一个简单的应用程序进行了尝试,两者都很好。@III边框控件。你能把那个应用程序发给我吗?我刚刚试着调试它,它似乎在OnMouseMove
方法中进入了一个循环,在这个文件中没有什么特别之处,只是我重新绘制了行,也许这会再次触发mousemove?