在列调整大小区域

时间:2017-04-27 16:45:31

标签: c# datagridview resize double-click

我有一个包含很少列的DataGridView。每次加载网格时,我都会默认选择一行。因此,每当我双击任何一行时,双击事件中的代码都会被执行。

现在当鼠标悬停在列标题之间时,鼠标光标会改变,我可以开始调整列的大小。但是,每当我在同一区域双击时,双击事件就会触发,并且其中的代码会执行。 the region where double click fires

所以我无法在代码中验证,如果我双击行或调整列大小区域,如何区分。

请帮我找一个关于这个问题的解决方法。谢谢!!

2 个答案:

答案 0 :(得分:0)

确保双击事件中RowIndex不等于-1。

if(e.RowIndex !=-1) { // your code }

答案 1 :(得分:0)

我只是使用下面显示的检查来避免双击任何列标题/分隔符时双击。这对我有用。

    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
    }