加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

vb.net – 如何将标题放在DataGridView的列中?

发布时间:2020-12-17 00:17:57 所属栏目:大数据 来源:网络整理
导读:我有一个奇怪的问题,这可能是一个简单的修复,但经过大量的研究,我似乎找不到一个解决方案. 我有一个DataGridView,我试图将列标题放在中心位置,但结果是左边的偏心,就像一个缩进的问题.我在一个或两个网站上看到过这个问题的一些帖子,但从来没有一个解决方案.
我有一个奇怪的问题,这可能是一个简单的修复,但经过大量的研究,我似乎找不到一个解决方案.

我有一个DataGridView,我试图将列标题放在中心位置,但结果是左边的偏心,就像一个缩进的问题.我在一个或两个网站上看到过这个问题的一些帖子,但从来没有一个解决方案.有什么想法吗?

以下是我目前使用的声明:

DataGridView1.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
您发布的代码在正确的轨道上:您需要设置DataGridView控件的ColumnHeadersDefaultCellStyle属性.

但是,您需要创建一个新的DataGridViewCellStyle类并将其分配给ColumnHeadersDefaultCellStyle属性.除非您已经为此属性分配了DataGridViewCellStyle类,否则不能修改Alignment属性.

因此,例如,以下代码在空白项目中实现了完美中心的列标题:

Dim dgvColumnHeaderStyle As New DataGridViewCellStyle()
dgvColumnHeaderStyle.Alignment = DataGridViewContentAlignment.MiddleCenter

myDataGridView.ColumnHeadersDefaultCellStyle = dgvColumnHeaderStyle

在将来,您可能会发现更容易从Designer中执行这些类型的事情.如果您仍然需要通过代码自行执行,您可以检查所创建的* .Designer.vb文件,以了解其是如何完成的.

编辑:我刚刚注意到你在列中指出的轻微偏移 – 它确实在每个标题的右边创建了一些额外的填充.这不是一个bug.有一个更简单的解释.

像ListView一样,DataGridView支持按列排序.因此,在计算中心对齐时,每个列头都保留足够的空间来显示排序字形(通常是箭头).

如果要使列标题完全居中,则需要禁用排序.将列的SortMode属性设置为“NonSortable”.每当列文本为中心或右对齐时,这将防止为排序字形保留空格.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读