1

完整数据网格视图的图片

带有数字符号的列标题具有荒谬的填充量。

我试过弄乱 ColumnHeaderDefaultCellStyle 无济于事。有任何想法吗?

带注释问题的特写

4

1 回答 1

1

好的,如果我理解问题的当前形式,它是这样的:

在此处输入图像描述

顶部图像错误 - 标题文本与单元格文本不对齐。
底部图片 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
于 2016-02-18T22:44:56.043 回答