Как отключить двойной щелчок по заголовку datagridview

У меня есть datagridview в моем приложении, в котором есть несколько строк. Я хочу, чтобы пользователь мог дважды щелкнуть строку и сделать что-то. Но если они дважды щелкают по заголовку, они также выполняют то же действие, используя выделенную строку. Двойной щелчок по заголовку делает то же самое, что и двойной щелчок по строке. Я не хочу отключать заголовок и отключать сортировку столбцов, я просто хочу отключить двойной щелчок по заголовку.


person John    schedule 25.01.2016    source источник


Ответы (2)


Создайте логическую переменную в классе формы с именем EnableRowHeaderDoubleClick и установите для нее значение false, а затем добавьте этот код.

Private Sub DataGridView1_RowHeaderMouseDoubleClick(sender As Object, e As DataGridViewCellMouseEventArgs) Handles DataGridView1.RowHeaderMouseDoubleClick
    If EnableRowHeaderDoubleClick = False Then Exit Sub
End Sub
person David Wilson    schedule 25.01.2016

В событии CellDoubleClick или CellContentDoubleClick вы можете использовать следующий код:

If e.RowIndex <> -1 Then
    'Trigger some actions
End If

Вы также можете использовать e.ColumnIndex <> -1, чтобы избежать двойного щелчка по заголовку строки.

person 41686d6564    schedule 25.01.2016
comment
используя e в качестве MousEventArgs, я получаю сообщение о том, что rowIndex не является членом MouseEventArgs, я получаю то же сообщение, используя System.EventArgs. - person John; 25.01.2016
comment
Какое событие вы используете? вы не объявляете e как MouseEventArgs.. просто используйте следующее событие: Private Sub DataGridView1_CellDoubleClick(sender As Object, e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellDoubleClick и замените «DataGridView1» на ваше имя DGV - person 41686d6564; 25.01.2016