是否有任何方法可以禁止单击或选择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
的令人讨厌的属性,当用户单击标题时,它将突出显示并变为蓝色。当单击标题的单元格时,有时也会引发异常。
答案 0 :(得分:1)
如果您不介意禁用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
。