Избегайте двойного щелчка при пожаре при щелчке между областями изменения размера столбца
У меня есть DataGridView с несколькими столбцами. У меня есть строка, выбранная по умолчанию каждый раз, когда сетка загружается. Поэтому всякий раз, когда я дважды щелкаю по какой-либо строке, выполняется код, присутствующий в событии двойного щелчка.
Теперь, когда я наведите курсор мыши между заголовками столбцов, курсор мыши изменится, и я могу начать изменять размеры столбцов. Но всякий раз, когда я дважды щелкаю в той же области, происходит событие двойного щелчка, и код, присутствующий в нем, выполняется.
Поэтому я не могу проверить в коде, как отличить, если я дважды щелкнул по строкам или областям изменения размера столбца.
Пожалуйста, помогите мне найти решение этой проблемы. Спасибо!!
2 ответа
Я просто использовал показанную ниже проверку, чтобы избежать двойного щелчка при двойном щелчке по заголовкам столбцов / разделителям. Это сработало для меня.
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
}
Убедитесь, что RowIndex не равен -1 в вашем событии двойного щелчка.
if(e.RowIndex !=-1)
{
// your code
}