C# 避免在列大小调整区域之间单击时引发双击事件
我有一个DataGridView,只有很少的列。默认情况下,每次加载网格时都会选择一行。因此,每当我双击任何一行时,双击事件中出现的代码都会被执行 现在,当我将鼠标悬停在列标题之间时,鼠标光标会发生变化,我可以开始调整列的大小。但是,每当我在同一个区域双击时,双击事件就会触发,其中的代码就会执行。 因此,我无法在代码中验证如何区分双击行或列大小调整区域C# 避免在列大小调整区域之间单击时引发双击事件,c#,datagridview,resize,double-click,C#,Datagridview,Resize,Double Click,我有一个DataGridView,只有很少的列。默认情况下,每次加载网格时都会选择一行。因此,每当我双击任何一行时,双击事件中出现的代码都会被执行 现在,当我将鼠标悬停在列标题之间时,鼠标光标会发生变化,我可以开始调整列的大小。但是,每当我在同一个区域双击时,双击事件就会触发,其中的代码就会执行。 因此,我无法在代码中验证如何区分双击行或列大小调整区域 请帮我找到解决这个问题的办法。谢谢 确保双击事件中的RowIndex不等于-1 if(e.RowIndex!=-1) { //你的代码 }我刚
请帮我找到解决这个问题的办法。谢谢 确保双击事件中的RowIndex不等于-1
if(e.RowIndex!=-1)
{
//你的代码
}
我刚才使用了如下所示的检查,以避免双击任一列标题/分隔符时触发双击。这对我有用
private void dgvConnections_DoubleClick(object sender, EventArgs e)
{
//Ensure the double click isn't firing when the mouse is clicked anywhere over the column headers/ column separators.
DataGridView.HitTestInfo hit = dgvConnections.HitTest(((MouseEventArgs)e).X, ((MouseEventArgs)e).Y);
if (hit.RowIndex == -1)
return;
//my code here, which should run on double click
}
DataGridView
提供了许多xxxDoubleClick
事件,可能是您应该订阅最适合要执行的操作的一个(或多个)事件。e、 g.CellDoubleClick
,CellContentDoubleClick
,RowHeaderMouseDoubleClick
等。请尝试检查鼠标指针!!不幸的是,DataGridView双击的EventArgs没有RowIndex属性可用。你能提出其他解决办法吗?