带有数字符号的列标题具有荒谬的填充量。
我试过弄乱 ColumnHeaderDefaultCellStyle 无济于事。有任何想法吗?
好的,如果我理解问题的当前形式,它是这样的:
顶部图像错误 - 标题文本与单元格文本不对齐。
底部图片 GOOD:文字排成一行
首先,标题单元格具有不同的填充,以便为尺寸调整器手柄和某些情况下的 3D 效果留出空间。要让您的“标题”单元格与标题对齐,请添加一点 left Padding
。为了让我的“活动”列对齐,我使用了:
dgv1.Columns(3).DefaultCellStyle.Padding = New Padding(2, 0, 0, 0)
对于右对齐的标题文本,您可能不走运,这说明了原因:
标题单元格的实际文本区域被限制为为排序字形保留空间。如果他们不这样做,文本会随着列的排序而跳来跳去。如果您不打算让用户对数据进行排序,则可以将列设置为不可排序,并且不会为字形保留空间:
dgv1.DataSource = dtSimple
dgv1.Columns(0).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
dgv1.Columns(0).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
dgv1.Columns(0).SortMode = DataGridViewColumnSortMode.NotSortable
dgv1.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
dgv1.Columns(1).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
dgv1.Columns(1).SortMode = DataGridViewColumnSortMode.NotSortable
dgv1.Columns(2).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
dgv1.Columns(2).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
dgv1.Columns(2).SortMode = DataGridViewColumnSortMode.NotSortable