Отключите DataGridView RowHeader и ColumnHeader от выбора и нажмите - PullRequest
0 голосов
/ 17 января 2019

Есть ли какой-либо метод, чтобы отключить RowHeader и ColumnHeader от щелчка или выбора, или mouseClick или mouseHover. Я ищу:

dgv.RowHeader.Enable = false;//disable rowheader

или

dgv.RowHeaderClick += dgv_RowHeaderClick;
private void dgv_RowHeaderClick(object sender, EventArgs e)
    {
        DataGridView dgv = (sender as DataGridView);

        dgv.RowHeaderClick -= dgv_RowHeaderClick;
    }

Это раздражающее свойство DataGridView, когда пользователь нажимает на заголовки, оно подсвечивается и становится синим. Также исключение выдают иногда при нажатии на ячейки заголовков.

1 Ответ

0 голосов
/ 18 января 2019

Если вы не возражаете против отключения режима автоматической сортировки заголовков столбцов DataGridView, вы можете отключить Column.SortMode , установив для него значение DataGridViewColumnSortMode.NotSortable.
Это будет препятствовать тому, чтобы Заголовок столбца был выделен, и сортировочный глиф не показывается.

Щелчок мыши не даст заметного эффекта; событие CellClick вызывается (с e.RowIndex = -1) как обычно.

foreach (DataGridViewColumn col in dataGridView1.Columns) {
    col.SortMode = DataGridViewColumnSortMode.NotSortable;
}

Если DataGridView привязан к источнику данных и для него установлено значение AutoGenerateColumns, повторите процедуру, если источник данных изменился. Вы также можете установить это свойство в интерфейсе конструктора DataGridView, если столбцы предварительно определены.

Для RowHeader, если необходимо, вы можете изменить DataGridView.SelectionMode на DataGridViewSelectionMode.CellSelect.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...