0

我正在使用 DevExpress 网格控件 (C#/.NET WinForms) 并处理双击事件。

默认情况下,当双击网格标题和数据行时,网格会触发事件。

双击处理程序仅传递 EventArgs,因此没有鼠标位置信息可用于计算用户在网格中单击的位置的点击信息。

为了解决这个问题,我正在查询 Control.MousePosition 值,将其转换为网格坐标,然后计算命中信息。

这一切似乎都可以正常工作,但是在事件处理程序期间像这样查询 MousePosition 有什么危险吗?

事件处理程序中的示例代码

        // if the double click was fired outside a row then ignore it
        GridHitInfo gridHitInfo = GridView.CalcHitInfo(Grid.PointToClient(MousePosition));
        if (!gridHitInfo.InRow)
            return;
4

1 回答 1

2

是的,这很好用。同步发生的任何更新MousePosition(即它们在调用处理程序期间不会更改)。

于 2011-05-12T10:32:26.250 回答