MouseDown事件期间e.X和MousePosition.X之间的区别?

时间:2013-11-06 18:52:25

标签: .net mouseevent mousedown

我在GridControl上有一个MouseDown事件,它确定用户点击了哪一行:

    private void genericView_MouseDown(object sender, MouseEventArgs e)
    {
        var hitInfo = vw.CalcHitInfo(new Point(e.X, e.Y));
        //do other things with the hitInfo object
    }

此代码的工作方式正如我所期望的那样。

但是,此代码不是

    private void genericView_MouseDown(object sender, MouseEventArgs e)
    {
        var hitInfo = vw.CalcHitInfo(new Point(MousePosition.X, MousePosition.Y));
        //do other things with the hitInfo object
    }

它编译,但返回不准确的数据。

我认为MouseEventArgs和MousePosition将是相同的坐标,但我猜不是。有什么不同?

1 个答案:

答案 0 :(得分:3)

e.Xe.Y与控件相关,而MousePosition则相对于Screen.Bounds