是否有任何方法禁止单击或选择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的一个恼人的属性,当用户单击标题时,它会突出显示并变成蓝色。有时,当单击标题的单元格时,也会抛出异常。
发布于 2019-01-18 09:59:48
如果不介意禁用DataGridView列标题的自动排序模式,则可以禁用Column.SortMode,将其设置为DataGridViewColumnSortMode.NotSortable。
这将防止突出显示colum标头,也不会显示排序字形。
鼠标单击不会产生任何显著效果;CellClick事件将像往常一样引发(使用e.RowIndex = -1)。
foreach (DataGridViewColumn col in dataGridView1.Columns) {
col.SortMode = DataGridViewColumnSortMode.NotSortable;
}如果DataGridView被绑定到DataSource并设置为AutoGenerateColumns,则如果DataSource被更改,请重复该过程。如果列是预定义的,还可以在DataGridView设计器接口中设置此属性。
对于RowHeader,如果需要,可以将DataGridView.SelectionMode更改为DataGridViewSelectionMode.CellSelect。
https://stackoverflow.com/questions/54234094
复制相似问题