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

前端之家收集整理的这篇文章主要介绍了vb.net – 如何将标题放在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”.每当列文本为中心或右对齐时,这将防止为排序字形保留空格.

原文链接:https://www.f2er.com/vb/255556.html

猜你在找的VB相关文章