gpt4 book ai didi

vb.net - 如何在 DataGridView 的列中居中标题?

转载 作者:行者123 更新时间:2023-12-04 01:43:15 25 4
gpt4 key购买 nike

我有一个奇怪的问题,它可能是一个简单的解决方法,但经过大量研究,我似乎找不到解决方案。

我有一个 DataGridView我试图将列标题居中,但结果是居中偏左——几乎就像一个缩进问题。我在一两个网站上看到了一些关于这个问题的帖子,但从来没有一个解决方案。有什么想法吗?

这是我目前尝试使用的语句:

DataGridView1.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter

最佳答案

您发布的代码走在正确的轨道上:您需要设置 ColumnHeadersDefaultCellStyle您的属性(property)DataGridView控制。

但是,您需要创建一个新的 DataGridViewCellStyle类并将其分配给 ColumnHeadersDefaultCellStyle属性(property)。 您不能修改 Alignment除非您分配了 DataGridViewCellStyle,否则属性如您的代码示例所示类到此属性。

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

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

myDataGridView.ColumnHeadersDefaultCellStyle = dgvColumnHeaderStyle

DataGridView with centered column headings

将来,您可能会发现从 Designer 执行这些类型的事情会更容易。如果还需要自己通过代码来做,可以查看 *.Designer.vb创建的文件以查看它是如何完成的。

编辑:我刚刚注意到你在列中提到的轻微偏移——它确实在每个标题的右侧创建了一点额外的填充。不过,这不是一个错误。有一个更简单的解释。

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

如果您希望列标题完全居中,则需要禁用排序。 设置 SortMode列的属性为“不可排序”。这应该可以防止在列文本居中或右对齐时为排序字​​形保留空间。

关于vb.net - 如何在 DataGridView 的列中居中标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4550836/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com