DevExpress XtraGrid MouseDown事件不会第二次触发

时间:2014-06-05 18:35:56

标签: devexpress xtragrid mousedown

我的XtraGrid上有MouseDown事件,它不想在同一列上第二次触发。

它识别第一次单击,但除非我在尝试单击原始行/列之前单击另一列或行,否则不会发生任何事情。

谁能告诉我我失踪了什么?以下是MouseDown事件中的代码:

         var hitInfo = gridViewSpecialty.CalcHitInfo(e.Location);
         if (hitInfo.InRowCell)
         {
             int nRow = hitInfo.RowHandle;
             GridColumn column = hitInfo.Column;
             LinkClick(nRow, column);

         }

谢谢!鲍勃

1 个答案:

答案 0 :(得分:0)

这很可能是由于事件错误导致的。如果你在该陈述周围放置一个Try{}catch{},我愿意下注,你可能会捕获错误。

这是我在尝试使用网格捕获用户点击事件时使用的内容。我使用双击事件,如下所示:

private void gcMainGrid_DoubleClick(object sender, EventArgs e)
{
    try
    {
        GridControl gc = (GridControl)sender;
        DevExpress.Utils.DXMouseEventArgs dxMEA = (DevExpress.Utils.DXMouseEventArgs)e;
        GridView gv = (GridView)gc.MainView;
        int iRowHandle = gv.CalcHitInfo(dxMEA.X, dxMEA.Y).RowHandle;

        //Check to see if the user is on a row.
    if (iRowHandle >= 0)
    {
        //Do something here.
    }
    catch(Exception ex)
    {
        if (Debugger.IsAttached)
            Debugger.Break();
        else
            throw(ex);
    }
}

这将获得用户点击的行的RowHandle。我认为这是你之后的事情,但我不会使用鼠标按下事件。