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

时间:2023-03-09 06:11:08
DataGridView列标题(列标头)不能居中的解决方法

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

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

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

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

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

}

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

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

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

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