У меня есть datagridview в моем приложении, в котором есть несколько строк. Я хочу, чтобы пользователь мог дважды щелкнуть по строке и сделать что-то. Но если они дважды нажимают на заголовок, он также выполняет то же действие, используя выделенную строку. Двойной щелчок по заголовку делает то же самое, что и двойной щелчок по строке. Я не хочу отключать заголовок и отключать сортировку столбцов, я просто хочу отключить двойной щелчок на заголовке.Как отключить doubleclicking в заголовке datagridview
ответ
Создать логическую переменную в классе вашей формы называется EnableRowHeaderDoubleClick и установить его в ложном затем добавить этот код
Private Sub DataGridView1_RowHeaderMouseDoubleClick(sender As Object, e As DataGridViewCellMouseEventArgs) Handles DataGridView1.RowHeaderMouseDoubleClick
If EnableRowHeaderDoubleClick = False Then Exit Sub
End Sub
В любом CellDoubleClick
или CellContentDoubleClick
случае вы можете использовать следующий код:
If e.RowIndex <> -1 Then
'Trigger some actions
End If
Вы также можете использовать e.ColumnIndex <> -1
, чтобы избежать двойной щелчок на заголовке строки.
используя е, как MousEventArgs, я получаю сообщение о том, RowIndex не memeber из MouseEventArgs , Я получаю то же сообщение, используя System.EventArgs. – user2721815
Какое событие вы пользуетесь? вы не объявляете e как MouseEventArgs .. просто используйте следующее событие: 'Private Sub DataGridView1_CellDoubleClick (отправитель как объект, e As System.Windows.Forms.DataGridViewCellEventArgs) обрабатывает DataGridView1.CellDoubleClick' и заменяет DataGridView1 вашим именем DGV –
Большое спасибо..... – user2721815