private void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e) { int ci = e.ColumnIndex; int ri = e.RowIndex; if (ci == -1 && ri == -1) { //左上角那个空的单元 } if (ci == -1 && ri >= 0) { //记录行左边头的空单元 } if (ci >= 0 && ri == -1) { //列头 } if (ci >= 0 && ri >= 0) { //记录单元格 } }
System.Drawing.Point pt = new Point(e.X,e.Y); DataGrid.HitTestInfo hti = this.dataGrid1.HitTest(pt);在dataGrid1_MouseUp事件中,我用上面的方法就可以实现判断,可是这实现的是单击,我希望的是双击,但是在dataGrid1_DoubleClick事件中,e就没有了X,Y的属性,也就无法实现判断了这个问题该怎么解决呢?难道只有在MouseUp事件中能判断出来,在DoubleClick中就无法判断了吗?
CellMouseClick 单击记录行发生
RowHeaderMouseClick 单击表头发生
ColumnHeaderMouseClick 单击列头发生
{
int ci = e.ColumnIndex;
int ri = e.RowIndex;
if (ci == -1 && ri == -1)
{
//左上角那个空的单元
}
if (ci == -1 && ri >= 0)
{
//记录行左边头的空单元
}
if (ci >= 0 && ri == -1)
{
//列头
}
if (ci >= 0 && ri >= 0)
{
//记录单元格
}
}
DataGrid.HitTestInfo hti = this.dataGrid1.HitTest(pt);在dataGrid1_MouseUp事件中,我用上面的方法就可以实现判断,可是这实现的是单击,我希望的是双击,但是在dataGrid1_DoubleClick事件中,e就没有了X,Y的属性,也就无法实现判断了这个问题该怎么解决呢?难道只有在MouseUp事件中能判断出来,在DoubleClick中就无法判断了吗?
http://www.cnblogs.com/suibing/archive/2005/04/24/144206.html
ColumnHeaderMouseDoubleClick 表头发生
RowHeaderMouseDoubleClick 列头发生
空白?不懂。。