如何检查鼠标悬停在所有按钮WPF上

时间:2015-03-25 15:00:31

标签: c# wpf computer-vision mouseover onmousemove

我尝试实现检查鼠标是否在所有按钮两侧的方式,如果鼠标在左侧,则右侧如果用户进行特定操作,则在下图中用户超过按钮方1然后以箭头的方式移动到2侧,我的问题是如何检查用户使这个动作在动作上做出具体的动作
可以给出链接或位代码帮我做出来吗?


Over side 11 then side 2

2 个答案:

答案 0 :(得分:1)

你可以做这样的事情,鼠标进入和离开

<Canvas  x:Name="Canvas" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="0,9,6,0">
    <Button Canvas.Top="0" Canvas.Left="0" x:Name="button" Width="100" MouseEnter="Butt_OnMouseEnter" Height="200"/>
</Canvas>

并在处理程序

private void Butt_OnMouseEnter(object sender, MouseEventArgs e)
{
    var position = e.GetPosition(Canvas);
}

现在这个位置与画布相符,因此会告诉你哪一侧鼠标输入或离开..

答案 1 :(得分:1)

应该是这样的:

 protected Point TouchStart;
        private void UIElement_OnMouseEnter(object sender, MouseEventArgs e)
        {
            TouchStart = e.GetPosition(this);
            MyButton.Background = Brushes.Red;

        }
    private void UIElement_OnMouseLeave(object sender, MouseEventArgs e)
    {
            var touch = e.GetPosition(this);

        if (touch.X >= (TouchStart.X + 99)) //button width here

        {
            MyButton.Background = Brushes.Aquamarine;
        }
    }

和XAML:

  <Button Width="100" x:Name="MyButton" Height="30" MouseEnter="UIElement_OnMouseEnter" MouseLeave="UIElement_OnMouseLeave" >HoverMe</Button>