2016-06-01 36 views
1

目前,当我双击任何网格项目时,下面的事件被触发。这包括如果我双击标题以及。Janus GridEX:发现是否点击标题

有没有一种方法可以区分标题或行点击?的SelectedItem位置总是> 0

this.grdItems = new Janus.Windows.GridEX.GridEX(); 
... 
this.grdItems.DoubleClick += new System.EventHandler(this.grdItems_DoubleClick); 

private void grdItems_DoubleClick(object sender, System.EventArgs e) 
    { 
     if (grdItems.SelectedItems!=null && grdItems.SelectedItems[0].Position >= 0) 
     { 
      //doing something 
     } 
    } 

回答

0

一种方法是使用HitTest()方法

声明变量

public int MLastX { get; set; } 
public int MLastY { get; set; } 

能够捕获上次鼠标的坐标的方法点击

/// <summary> 
/// Handles the MouseDown event of the grdSearch control. On a mousedown the click co-ordinates 
/// is set. This method is used to determine whether you have clicked on a gridrow cell in the method above 
/// </summary> 
/// <param name="sender">The source of the event.</param> 
/// <param name="e">The <see cref="MouseEventArgs"/> instance containing the event data.</param> 
private void grdSearch_MouseDown(object sender, MouseEventArgs e) 
{ 
    MLastX = e.X; 
    MLastY = e.Y; 
} 

检查该点击是否在单元格中

//check whether you have clicked in a cell 
if (grdSearch.HitTest(MLastX, MLastY) == GridArea.Cell) 
{ 
    //now only execute the rest 
}