DataGridView列标题(列标头)不能居中的解决方法

winform DataGridView列标题(列标头)不能彻底居中的解决方法,通常列标题的居中咱们都使用 DgvDemo.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; 这样就居中的了,但若是行单元格也居中时你仔细看会发现列标题并无彻底居中,而是略微往左边一点,若是你深得这无关大雅,就不必往下看此文了,若是你想解决此问题请看解决方法this

6f600075b78a48a7870fda7d5a1265bc

在DataGridview所在窗体的构造方法中添加语句 遍历DataGridview的列设置列的排序模式

clipboard

foreach (DataGridViewColumn item in this.DgvStudentList.Columns)
{     item.SortMode = DataGridViewColumnSortMode.NotSortable;

}

添加以上代码后显示效果以下图

1c65ef7ef7f04eed84fb74e292ef4686

clipboard[5]

最后分析一下缘由,实际上是DataGridView列SortMode属性(排序模式)默认为Automatic 在此模式下,列标题右边有预留一个排序小箭头的位置,因此整个列标题就向左边多一点,而当把SortMode属性设置为NotSortable时,不使用排序,也就没有那个预留的位置,全部彻底居中了