目前,当我双击任何网格项目时,下面的事件都会被触发。这包括如果我也双击标题。
有没有一种方法可以区分单击的标题或行?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
}
}发布于 2016-09-26 15:36:56
一种方法是使用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
}发布于 2019-08-04 21:36:17
private void mxGridExJanus1_RowDoubleClick(object sender, Janus.Windows.GridEX.RowActionEventArgs e)
{
if (e.Row.RowType != RowType.Record) return;
// row clicked
}https://stackoverflow.com/questions/37564497
复制相似问题