在鼠标中按下左键在wpf中移动

时间:2014-06-03 09:05:05

标签: wpf mousemove

在鼠标移动网格时,未按下左按钮,但按下右按钮。谁知道原因?

private void grid1_MouseMove(object sender, MouseEventArgs e)
            {
                if (e.RightButton == MouseButtonState.Pressed)
                {
                    //Entered to the loop
                }
            }

 private void grid1_MouseMove(object sender, MouseEventArgs e)
        {
            if (e.LeftButton == MouseButtonState.Pressed)
            {
                //Not enter to the loop
            }
        }

1 个答案:

答案 0 :(得分:3)

可能有多种原因,但由于您没有提供Minimal, Complete, and Verifiable example,我们无法确切地告诉您。以下代码肯定没有任何问题,它在新项目中按预期工作:

private void grid1_MouseMove(object sender, MouseEventArgs e)
{
    if (e.LeftButton == MouseButtonState.Pressed)
    {
        //Entered the loop
    }
    if (e.RightButton == MouseButtonState.Pressed)
    {
        //Entered the loop
    }
}

您的代码永远不会输入if语句的最可能原因如下:

  1. 单击鼠标左键时,您没有移动鼠标。
  2. 当您点击鼠标左键时,您并没有超过Grid
  3. 您正在处理隧道事件(Preview...事件)中的左键单击并将e.Handled设置为true
  4. 如果这些建议无效,请按照关联帮助页面中的建议操作,并提供Minimal, Complete, and Verifiable example我们可以用来提供进一步的帮助。