首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >禁止选择DataGridView RowHeader和ColumnHeader并单击

禁止选择DataGridView RowHeader和ColumnHeader并单击
EN

Stack Overflow用户
提问于 2019-01-17 10:40:56
回答 1查看 3.8K关注 0票数 0

是否有任何方法禁止单击或选择RowHeader和ColumnHeader或mouseClick或mouseHover。我在找:

代码语言:javascript
复制
dgv.RowHeader.Enable = false;//disable rowheader

代码语言:javascript
复制
dgv.RowHeaderClick += dgv_RowHeaderClick;
private void dgv_RowHeaderClick(object sender, EventArgs e)
    {
        DataGridView dgv = (sender as DataGridView);

        dgv.RowHeaderClick -= dgv_RowHeaderClick;
    }

这是DataGridView的一个恼人的属性,当用户单击标题时,它会突出显示并变成蓝色。有时,当单击标题的单元格时,也会抛出异常。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-18 09:59:48

如果不介意禁用DataGridView列标题的自动排序模式,则可以禁用Column.SortMode,将其设置为DataGridViewColumnSortMode.NotSortable

这将防止突出显示colum标头,也不会显示排序字形。

鼠标单击不会产生任何显著效果;CellClick事件将像往常一样引发(使用e.RowIndex = -1)。

代码语言:javascript
复制
foreach (DataGridViewColumn col in dataGridView1.Columns) {
    col.SortMode = DataGridViewColumnSortMode.NotSortable;
}

如果DataGridView被绑定到DataSource并设置为AutoGenerateColumns,则如果DataSource被更改,请重复该过程。如果列是预定义的,还可以在DataGridView设计器接口中设置此属性。

对于RowHeader,如果需要,可以将DataGridView.SelectionMode更改为DataGridViewSelectionMode.CellSelect

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54234094

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档